Commit 6149a5c6009619cdffd821b28f620a448979b76b

Authored by 潘钊
2 parents b18495b6 5ee29854

Merge branch 'minhang' into pudong

# Conflicts:
#	src/main/resources/static/index.html
Showing 59 changed files with 4265 additions and 124 deletions

Too many changes to show.

To preserve performance only 59 of 1634 files are displayed.

src/main/java/com/bsth/WebAppConfiguration.java
1 package com.bsth; 1 package com.bsth;
2 2
3 -import javax.servlet.Filter;  
4 -  
5 -import org.springframework.beans.factory.annotation.Autowired; 3 +import com.bsth.filter.ResourceFilter;
  4 +import com.bsth.websocket.WebSocketHandshakeInterceptor;
  5 +import com.bsth.websocket.handler.RealControlSocketHandler;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
6 import org.springframework.boot.context.embedded.FilterRegistrationBean; 8 import org.springframework.boot.context.embedded.FilterRegistrationBean;
7 import org.springframework.context.annotation.Bean; 9 import org.springframework.context.annotation.Bean;
8 import org.springframework.context.annotation.ComponentScan; 10 import org.springframework.context.annotation.ComponentScan;
9 import org.springframework.context.annotation.Configuration; 11 import org.springframework.context.annotation.Configuration;
10 import org.springframework.web.filter.CharacterEncodingFilter; 12 import org.springframework.web.filter.CharacterEncodingFilter;
11 import org.springframework.web.filter.HttpPutFormContentFilter; 13 import org.springframework.web.filter.HttpPutFormContentFilter;
12 -import org.springframework.web.servlet.config.annotation.InterceptorRegistry;  
13 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 14 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
14 import org.springframework.web.socket.config.annotation.EnableWebSocket; 15 import org.springframework.web.socket.config.annotation.EnableWebSocket;
15 import org.springframework.web.socket.config.annotation.WebSocketConfigurer; 16 import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
16 import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; 17 import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
  18 +import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean;
17 19
18 -import com.bsth.filter.ResourceFilter;  
19 -import com.bsth.oplog.http.HttpOpLogInterceptor;  
20 -import com.bsth.websocket.WebSocketHandshakeInterceptor;  
21 -import com.bsth.websocket.handler.RealControlSocketHandler; 20 +import javax.servlet.Filter;
22 21
23 @Configuration 22 @Configuration
24 @EnableWebSocket 23 @EnableWebSocket
@@ -27,6 +26,8 @@ public class WebAppConfiguration extends WebMvcConfigurerAdapter implements WebS @@ -27,6 +26,8 @@ public class WebAppConfiguration extends WebMvcConfigurerAdapter implements WebS
27 26
28 // @Autowired 27 // @Autowired
29 // HttpOpLogInterceptor httpOpLogInterceptor; 28 // HttpOpLogInterceptor httpOpLogInterceptor;
  29 +
  30 + Logger logger = LoggerFactory.getLogger(this.getClass());
30 31
31 /** 32 /**
32 * @Title: httpPutFormContentFilter 33 * @Title: httpPutFormContentFilter
@@ -75,4 +76,17 @@ public class WebAppConfiguration extends WebMvcConfigurerAdapter implements WebS @@ -75,4 +76,17 @@ public class WebAppConfiguration extends WebMvcConfigurerAdapter implements WebS
75 registry.addHandler(new RealControlSocketHandler(), "/sockjs/realcontrol").addInterceptors(new WebSocketHandshakeInterceptor()) 76 registry.addHandler(new RealControlSocketHandler(), "/sockjs/realcontrol").addInterceptors(new WebSocketHandshakeInterceptor())
76 .withSockJS(); 77 .withSockJS();
77 } 78 }
  79 +
  80 + /**
  81 + * 增加websocket的输出缓冲区
  82 + * @return
  83 + */
  84 + @Bean
  85 + public ServletServerContainerFactoryBean createServletServerContainerFactoryBean() {
  86 + ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
  87 + container.setMaxTextMessageBufferSize(52768);
  88 + container.setMaxBinaryMessageBufferSize(52768);
  89 + logger.info("Websocket factory returned");
  90 + return container;
  91 + }
78 } 92 }
src/main/java/com/bsth/controller/realcontrol/ChildTaskPlanController.java
1 package com.bsth.controller.realcontrol; 1 package com.bsth.controller.realcontrol;
2 2
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.entity.realcontrol.ChildTaskPlan;
  5 +import com.bsth.service.realcontrol.ChildTaskPlanService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.web.bind.annotation.PathVariable;
3 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestMethod;
4 import org.springframework.web.bind.annotation.RestController; 10 import org.springframework.web.bind.annotation.RestController;
5 11
6 -import com.bsth.controller.BaseController;  
7 -import com.bsth.entity.realcontrol.ChildTaskPlan; 12 +import java.util.Map;
8 13
9 @RestController 14 @RestController
10 @RequestMapping("/childTask") 15 @RequestMapping("/childTask")
11 public class ChildTaskPlanController extends BaseController<ChildTaskPlan, Long>{ 16 public class ChildTaskPlanController extends BaseController<ChildTaskPlan, Long>{
12 17
  18 + @Autowired
  19 + ChildTaskPlanService childTaskPlanService;
  20 +
  21 + @RequestMapping(value = "history", method = RequestMethod.POST)
  22 + public Map<String, Object> saveHistory(ChildTaskPlan childTask){
  23 + return childTaskPlanService.saveHistory(childTask);
  24 + }
  25 +
  26 + @RequestMapping(value = "history/{id}", method = RequestMethod.DELETE)
  27 + public Map<String, Object> delHistory(@PathVariable("id") Long id){
  28 + return childTaskPlanService.delHistory(id);
  29 + }
13 } 30 }
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
@@ -419,10 +419,10 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -419,10 +419,10 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
419 return scheduleRealInfoService.changeBcType(id, bcType, remarks); 419 return scheduleRealInfoService.changeBcType(id, bcType, remarks);
420 } 420 }
421 421
422 -/* @RequestMapping(value="/history", method=RequestMethod.POST) 422 + @RequestMapping(value="/history", method=RequestMethod.POST)
423 public Map<String,Object> historySave(ScheduleRealInfo sch){ 423 public Map<String,Object> historySave(ScheduleRealInfo sch){
424 return scheduleRealInfoService.historySave(sch); 424 return scheduleRealInfoService.historySave(sch);
425 - }*/ 425 + }
426 426
427 427
428 private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd"); 428 private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");
@@ -435,7 +435,7 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -435,7 +435,7 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
435 public List<String> dateArray(){ 435 public List<String> dateArray(){
436 List<String> rs = new ArrayList<>(); 436 List<String> rs = new ArrayList<>();
437 437
438 - long t = new Date().getTime() - ONE_DAY; 438 + long t = new Date().getTime() - ONE_DAY - (1000 * 60 * 60 * 2);
439 for(int i = 0; i < 5; i ++){ 439 for(int i = 0; i < 5; i ++){
440 rs.add(fmtyyyyMMdd.print(t)); 440 rs.add(fmtyyyyMMdd.print(t));
441 t -= ONE_DAY; 441 t -= ONE_DAY;
@@ -536,4 +536,24 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -536,4 +536,24 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
536 public List<ScheduleRealInfo> allLate2(@RequestParam String idx){ 536 public List<ScheduleRealInfo> allLate2(@RequestParam String idx){
537 return scheduleRealInfoService.allLate2(idx); 537 return scheduleRealInfoService.allLate2(idx);
538 } 538 }
  539 +
  540 + /**
  541 + * 添加一个临加到历史库
  542 + * @param sch
  543 + * @return
  544 + */
  545 + @RequestMapping(value = "history/add", method = RequestMethod.POST)
  546 + public Map<String, Object> addToHistory(ScheduleRealInfo sch){
  547 + return scheduleRealInfoService.addToHistory(sch);
  548 + }
  549 +
  550 + /**
  551 + * 从历史库里删除临加班次
  552 + * @param sch
  553 + * @return
  554 + */
  555 + @RequestMapping(value = "history/{id}", method = RequestMethod.DELETE)
  556 + public Map<String, Object> deleteToHistory(@PathVariable("id") Long id){
  557 + return scheduleRealInfoService.deleteToHistory(id);
  558 + }
539 } 559 }
src/main/java/com/bsth/controller/schedule/SchedulePlanInfoController.java renamed to src/main/java/com/bsth/controller/schedule/core/SchedulePlanInfoController.java
1 -package com.bsth.controller.schedule;  
2 -  
3 -import com.bsth.common.ResponseCode;  
4 -import com.bsth.controller.BaseController;  
5 -import com.bsth.entity.schedule.SchedulePlanInfo;  
6 -import com.bsth.service.schedule.SchedulePlanInfoService;  
7 -import org.springframework.beans.factory.annotation.Autowired;  
8 -import org.springframework.web.bind.annotation.*;  
9 -  
10 -import java.util.Date;  
11 -import java.util.HashMap;  
12 -import java.util.List;  
13 -import java.util.Map;  
14 -  
15 -/**  
16 - * Created by xu on 16/6/16.  
17 - */  
18 -@RestController  
19 -@RequestMapping("spic")  
20 -public class SchedulePlanInfoController extends BaseController<SchedulePlanInfo, Long> {  
21 - @Autowired  
22 - private SchedulePlanInfoService schedulePlanInfoService;  
23 -  
24 - @RequestMapping(value = "/groupinfos/{xlid}/{date}", method = RequestMethod.GET)  
25 - public List<SchedulePlanInfoService.GroupInfo> findGroupInfo(  
26 - @PathVariable(value = "xlid") Integer xlid,  
27 - @PathVariable(value = "date") Date scheduleDate) {  
28 - return schedulePlanInfoService.findGroupInfo(xlid, scheduleDate);  
29 - }  
30 -  
31 - @RequestMapping(value = "/groupinfos/update", method = RequestMethod.POST)  
32 - public Map<String, Object> updateGroupInfo(@RequestBody SchedulePlanInfoService.GroupInfoUpdate groupInfoUpdate) {  
33 - Map<String, Object> resultMap = new HashMap<>();  
34 - try {  
35 - schedulePlanInfoService.updateGroupInfo(groupInfoUpdate);  
36 -  
37 - resultMap.put("status", ResponseCode.SUCCESS);  
38 - resultMap.put("msg", "更新成功");  
39 - } catch (Exception exp) {  
40 - exp.printStackTrace();  
41 - resultMap.put("status", ResponseCode.ERROR);  
42 - resultMap.put("msg", exp.getLocalizedMessage());  
43 - }  
44 -  
45 - return resultMap;  
46 - }  
47 -} 1 +package com.bsth.controller.schedule.core;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.controller.schedule.BController;
  5 +import com.bsth.entity.schedule.SchedulePlanInfo;
  6 +import com.bsth.service.schedule.SchedulePlanInfoService;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.web.bind.annotation.*;
  9 +
  10 +import java.util.Date;
  11 +import java.util.HashMap;
  12 +import java.util.List;
  13 +import java.util.Map;
  14 +
  15 +/**
  16 + * Created by xu on 17/5/1.
  17 + */
  18 +@RestController
  19 +@RequestMapping("spic")
  20 +public class SchedulePlanInfoController extends BController<SchedulePlanInfo, Long> {
  21 + @Autowired
  22 + private SchedulePlanInfoService schedulePlanInfoService;
  23 +
  24 + @RequestMapping(value = "/groupextinfos/{xlid}/{date}", method = RequestMethod.GET)
  25 + public Map<String, Object> findGroupInfoExt(
  26 + @PathVariable(value = "xlid") Integer xlid,
  27 + @PathVariable(value = "date") Date scheduleDate) {
  28 + Map<String, Object> resultMap = new HashMap<>();
  29 + try {
  30 + resultMap.put("status", ResponseCode.SUCCESS);
  31 + resultMap.put("data", schedulePlanInfoService.findSchedulePlanGroupInfo(xlid, scheduleDate));
  32 +
  33 + } catch (Exception exp) {
  34 + exp.printStackTrace();
  35 + resultMap.put("status", ResponseCode.ERROR);
  36 + resultMap.put("msg", exp.getLocalizedMessage());
  37 + }
  38 +
  39 + return resultMap;
  40 + }
  41 +
  42 +
  43 +// ------------------------ 老版本 ----------------------//
  44 + @RequestMapping(value = "/groupinfos/{xlid}/{date}", method = RequestMethod.GET)
  45 + public List<SchedulePlanInfoService.GroupInfo> findGroupInfo(
  46 + @PathVariable(value = "xlid") Integer xlid,
  47 + @PathVariable(value = "date") Date scheduleDate) {
  48 + return schedulePlanInfoService.findGroupInfo(xlid, scheduleDate);
  49 + }
  50 +
  51 + @RequestMapping(value = "/groupinfos/update", method = RequestMethod.POST)
  52 + public Map<String, Object> updateGroupInfo(@RequestBody SchedulePlanInfoService.GroupInfoUpdate groupInfoUpdate) {
  53 + Map<String, Object> resultMap = new HashMap<>();
  54 + try {
  55 + schedulePlanInfoService.updateGroupInfo(groupInfoUpdate);
  56 +
  57 + resultMap.put("status", ResponseCode.SUCCESS);
  58 + resultMap.put("msg", "更新成功");
  59 + } catch (Exception exp) {
  60 + exp.printStackTrace();
  61 + resultMap.put("status", ResponseCode.ERROR);
  62 + resultMap.put("msg", exp.getLocalizedMessage());
  63 + }
  64 +
  65 + return resultMap;
  66 + }
  67 +}
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
@@ -270,7 +270,7 @@ public class InOutStationSignalHandle extends SignalHandle{ @@ -270,7 +270,7 @@ public class InOutStationSignalHandle extends SignalHandle{
270 270
271 //通知客户端 271 //通知客户端
272 sendUtils.sendZdsj(sch, lpNext, doneSum); 272 sendUtils.sendZdsj(sch, lpNext, doneSum);
273 - 273 + logger.info("车辆:" + sch.getClZbh() + " 班次:" + sch.getDfsj() + "到终点, 时间:" + sch.getZdsjActual());
274 //准备执行下一个班次 274 //准备执行下一个班次
275 if (next != null) { 275 if (next != null) {
276 //将gps转换为下一个班次走向的站内信号 276 //将gps转换为下一个班次走向的站内信号
src/main/java/com/bsth/data/gpsdata/arrival/utils/GeoUtils.java
@@ -96,7 +96,10 @@ public class GeoUtils { @@ -96,7 +96,10 @@ public class GeoUtils {
96 public static double getDistanceFromLine(LineString line, Point p){ 96 public static double getDistanceFromLine(LineString line, Point p){
97 Point s = line.getStartPoint(); 97 Point s = line.getStartPoint();
98 Point e = line.getEndPoint(); 98 Point e = line.getEndPoint();
  99 + return getDistanceFromLine(s, e, p);
  100 + }
99 101
  102 + public static double getDistanceFromLine(Point s, Point e, Point p){
100 double d1 = getDistance(s, p); 103 double d1 = getDistance(s, p);
101 double d2 = getDistance(p, e); 104 double d2 = getDistance(p, e);
102 double d3 = getDistance(s, e); 105 double d3 = getDistance(s, e);
@@ -147,4 +150,92 @@ public class GeoUtils { @@ -147,4 +150,92 @@ public class GeoUtils {
147 public static boolean overdue(GpsEntity prevGps, GpsEntity gps) { 150 public static boolean overdue(GpsEntity prevGps, GpsEntity gps) {
148 return gps.getTimestamp() - prevGps.getTimestamp() < 120000; 151 return gps.getTimestamp() - prevGps.getTimestamp() < 120000;
149 } 152 }
  153 +
  154 + /**
  155 + * 计算2条直线的最短距离
  156 + * @param p1
  157 + * @param p2
  158 + * @param p3
  159 + * @param p4
  160 + * @return
  161 + */
  162 + public static double getDistanceLineToLine(Point p1, Point p2, Point p3, Point p4){
  163 + double distance;
  164 + double x1 = p1.getX(); //A点坐标(x1,y1,z1)
  165 + double y1 = p1.getY();
  166 + double z1 = 0;
  167 + double x2 = p2.getX(); //B点坐标(x2,y2,z2)
  168 + double y2 = p2.getY();
  169 + double z2 = 0;
  170 + double x3 = p3.getX(); //C点坐标(x3,y3,z3)
  171 + double y3 = p3.getY();
  172 + double z3 = 0;
  173 + double x4 = p4.getX(); //D点坐标(x4,y4,z4)
  174 + double y4 = p4.getY();
  175 + double z4 = 0;
  176 +
  177 + double a = (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1);
  178 + double b = -((x2-x1)*(x4-x3)+(y2-y1)*(y4-y3)+(z2-z1)*(z4-z3));
  179 + double c = -((x1-x2)*(x1-x3)+(y1-y2)*(y1-y3)+(z1-z2)*(z1-z3));
  180 +
  181 + double d = -((x2-x1)*(x4-x3)+(y2-y1)*(y4-y3)+(z2-z1)*(z4-z3));
  182 + double e = (x4-x3)*(x4-x3)+(y4-y3)*(y4-y3)+(z4-z3)*(z4-z3);
  183 + double f = -((x1-x3)*(x4-x3)+(y1-y3)*(y4-y3)+(z1-z3)*(z4-z3));
  184 +
  185 + //平行
  186 + if ((a*e-b*d)==0&&(b*d-a*e)==0)
  187 + {
  188 + double d1 = getDistance(p1, p3);
  189 + double d2 = getDistance(p1, p4);
  190 + distance = (d1<d2)?d1:d2;
  191 + return distance;
  192 + }
  193 +
  194 + double s = (b*f-e*c)/(a*e-b*d);
  195 + double t = (a*f-d*c)/(b*d-a*e);
  196 +
  197 + //说明P点落在线段AB上,Q点落在线段CD上
  198 + if(0<=s&&s<=1&&0<=t&&t<=1)
  199 + {
  200 + //2条线段的公垂线段PQ;
  201 + //P点坐标
  202 + double X = x1+s*(x2-x1);
  203 + double Y = y1+s*(y2-y1);
  204 + double Z = z1+s*(z2-z1);
  205 + //Q点坐标
  206 + double U = x3+t*(x4-x3);
  207 + double V = y3+t*(y4-y3);
  208 + double W = z3+t*(z4-z3);
  209 + Point p = geometryFactory.createPoint(new Coordinate(X, Y, Z));
  210 + Point q = geometryFactory.createPoint(new Coordinate(U, V, W));
  211 + distance = getDistance(p, q);
  212 + }
  213 + else
  214 + {
  215 + double d1 = getDistanceFromLine(p3,p4,p1);
  216 + double d2 = getDistanceFromLine(p3,p4,p2);
  217 + double d3 = getDistanceFromLine(p1,p2,p3);
  218 + double d4 = getDistanceFromLine(p1,p2,p4);
  219 + distance = (d1<d2)?d1:d2;
  220 + distance = (distance<d3)?distance:d3;
  221 + distance = (distance<d4)?distance:d4;
  222 + }
  223 +
  224 + return distance;
  225 + }
  226 +
  227 + /**
  228 + * 计算点 到 线的垂直交点
  229 + * @param lp1
  230 + * @param lp2
  231 + * @param p
  232 + * @return
  233 + */
  234 + public static Point perpendularPoint(Point lp1, Point lp2, Point p){
  235 + double a = lp1.getX() - lp2.getX(), b = lp2.getY() - lp1.getY(), c = lp1.getY() * lp2.getX() - lp2.getY() * lp1.getX();
  236 + double lon = (Math.pow(b, 2) * p.getY() - a * b * p.getX() - a * c) / (Math.pow(a, 2) + Math.pow(b, 2));
  237 + double lat = (Math.pow(a, 2) * p.getX() - a * b * p.getY() - b * c) / (Math.pow(a, 2) + Math.pow(b, 2));
  238 +
  239 + return geometryFactory.createPoint(new Coordinate(lat, lon));
  240 + }
150 } 241 }
src/main/java/com/bsth/data/gpsdata/arrival/utils/ScheduleSignalState.java
@@ -72,7 +72,7 @@ public class ScheduleSignalState { @@ -72,7 +72,7 @@ public class ScheduleSignalState {
72 } 72 }
73 73
74 ScheduleRealInfo next = dayOfSchedule.next(sch); 74 ScheduleRealInfo next = dayOfSchedule.next(sch);
75 - if (next.getXlDir().equals(sch.getXlDir())) 75 + if (next != null && next.getXlDir().equals(sch.getXlDir()))
76 return; 76 return;
77 77
78 //时间足够下一个班次待发时间运行到当前站 78 //时间足够下一个班次待发时间运行到当前站
src/main/java/com/bsth/data/gpsdata/thread/GpsDataLoaderThread.java
@@ -113,8 +113,8 @@ public class GpsDataLoaderThread extends Thread { @@ -113,8 +113,8 @@ public class GpsDataLoaderThread extends Thread {
113 gps.setNbbm(nbbm); 113 gps.setNbbm(nbbm);
114 //有更新的点位 114 //有更新的点位
115 updateList.add(gps); 115 updateList.add(gps);
116 - logger.info("全量点:"+ list.size() +",更新点" + updateList.size());  
117 } 116 }
  117 + logger.info("全量点:"+ list.size() +",更新点" + updateList.size());
118 //分析数据 118 //分析数据
119 gpsRealAnalyse.analyse(updateList); 119 gpsRealAnalyse.analyse(updateList);
120 } else 120 } else
src/main/java/com/bsth/service/realcontrol/ChildTaskPlanService.java
@@ -3,6 +3,11 @@ package com.bsth.service.realcontrol; @@ -3,6 +3,11 @@ package com.bsth.service.realcontrol;
3 import com.bsth.entity.realcontrol.ChildTaskPlan; 3 import com.bsth.entity.realcontrol.ChildTaskPlan;
4 import com.bsth.service.BaseService; 4 import com.bsth.service.BaseService;
5 5
  6 +import java.util.Map;
  7 +
6 public interface ChildTaskPlanService extends BaseService<ChildTaskPlan, Long>{ 8 public interface ChildTaskPlanService extends BaseService<ChildTaskPlan, Long>{
7 9
  10 + Map<String,Object> saveHistory(ChildTaskPlan childTask);
  11 +
  12 + Map<String,Object> delHistory(Long id);
8 } 13 }
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
@@ -138,7 +138,7 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -138,7 +138,7 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
138 138
139 Map<String,Object> changeBcType(Long id, String bcType, String remarks); 139 Map<String,Object> changeBcType(Long id, String bcType, String remarks);
140 140
141 - //Map<String,Object> historySave(ScheduleRealInfo sch); 141 + Map<String,Object> historySave(ScheduleRealInfo sch);
142 142
143 Map<String, Object> MapById(Long id) ; 143 Map<String, Object> MapById(Long id) ;
144 144
@@ -165,4 +165,8 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -165,4 +165,8 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
165 Map<String,Object> lateAdjust(String idx, float minute); 165 Map<String,Object> lateAdjust(String idx, float minute);
166 166
167 List<ScheduleRealInfo> allLate2(String idx); 167 List<ScheduleRealInfo> allLate2(String idx);
  168 +
  169 + Map<String,Object> addToHistory(ScheduleRealInfo sch);
  170 +
  171 + Map<String, Object> deleteToHistory(Long id);
168 } 172 }
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
@@ -86,4 +86,33 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl&lt;ChildTaskPlan, Lon @@ -86,4 +86,33 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl&lt;ChildTaskPlan, Lon
86 rs.put("t", sch); 86 rs.put("t", sch);
87 return rs; 87 return rs;
88 } 88 }
  89 +
  90 + @Override
  91 + public Map<String, Object> saveHistory(ChildTaskPlan t) {
  92 + Map<String, Object> rs = new HashMap();
  93 + try {
  94 + ScheduleRealInfo sch = t.getSchedule();
  95 + //保存起终点名称
  96 + String prefix = sch.getXlBm() + "_" + sch.getXlDir() + "_";
  97 + if(StringUtils.isEmpty(t.getStartStationName()))
  98 + t.setStartStationName(BasicData.getStationNameByCode(t.getStartStation(), prefix));
  99 +
  100 + if(StringUtils.isEmpty(t.getEndStationName()))
  101 + t.setEndStationName(BasicData.getStationNameByCode(t.getEndStation(), prefix));
  102 + //先持久化子任务
  103 + rs = super.save(t);
  104 +
  105 + rs.put("status", ResponseCode.SUCCESS);
  106 + }catch (Exception e){
  107 + logger.error("", e);
  108 + rs.put("status", ResponseCode.ERROR);
  109 + rs.put("msg", e.getMessage());
  110 + }
  111 + return rs;
  112 + }
  113 +
  114 + @Override
  115 + public Map<String, Object> delHistory(Long id) {
  116 + return super.delete(id);
  117 + }
89 } 118 }
src/main/java/com/bsth/service/realcontrol/impl/RealMapServiceImpl.java
@@ -7,6 +7,7 @@ import com.bsth.entity.CarPark; @@ -7,6 +7,7 @@ import com.bsth.entity.CarPark;
7 import com.bsth.service.realcontrol.RealMapService; 7 import com.bsth.service.realcontrol.RealMapService;
8 import com.bsth.service.realcontrol.dto.SectionRouteCoords; 8 import com.bsth.service.realcontrol.dto.SectionRouteCoords;
9 import com.bsth.util.TransGPS; 9 import com.bsth.util.TransGPS;
  10 +import com.google.common.base.Joiner;
10 import com.google.common.base.Splitter; 11 import com.google.common.base.Splitter;
11 import com.google.common.collect.ArrayListMultimap; 12 import com.google.common.collect.ArrayListMultimap;
12 import com.vividsolutions.jts.geom.*; 13 import com.vividsolutions.jts.geom.*;
@@ -262,18 +263,18 @@ public class RealMapServiceImpl implements RealMapService { @@ -262,18 +263,18 @@ public class RealMapServiceImpl implements RealMapService {
262 if(len == 0) 263 if(len == 0)
263 return rs; 264 return rs;
264 265
265 - StringBuilder joinstr = new StringBuilder(list.get(0)); 266 + String joinstr = list.get(0);
266 String str; 267 String str;
267 for(int i = 1; i < len; i ++){ 268 for(int i = 1; i < len; i ++){
268 str = jointCoords(joinstr.toString(), list.get(i)); 269 str = jointCoords(joinstr.toString(), list.get(i));
269 if(str != null) 270 if(str != null)
270 - joinstr.append("," + str); 271 + joinstr = str;
271 else{ 272 else{
272 rs.add(joinstr.toString()); 273 rs.add(joinstr.toString());
273 - joinstr = new StringBuilder(list.get(i)); 274 + joinstr = list.get(i);
274 } 275 }
275 } 276 }
276 - rs.add(joinstr.toString()); 277 + rs.add(joinstr);
277 return rs; 278 return rs;
278 } 279 }
279 280
@@ -283,18 +284,57 @@ public class RealMapServiceImpl implements RealMapService { @@ -283,18 +284,57 @@ public class RealMapServiceImpl implements RealMapService {
283 LineString s1 = createLineString(c1); 284 LineString s1 = createLineString(c1);
284 LineString s2 = createLineString(c2); 285 LineString s2 = createLineString(c2);
285 286
286 - if(s1.intersects(s2)){  
287 - Geometry g = s1.intersection(s2);  
288 - Point inPoint = geometryFactory.createPoint(g.getCoordinates()[0]);//第一个交点  
289 287
290 - //第一条线截断至交点  
291 - rs = truncationEnd(s1, inPoint);  
292 - //第二条线从交点开始  
293 - rs += ("," + truncationStart(s2, inPoint)); 288 + /*if(s1.intersects(s2)){
  289 + //2条线相交
  290 + Geometry g = s1.intersection(s2);
  291 + Point inPoint = geometryFactory.createPoint(g.getCoordinates()[0]);
  292 + //s1 = replacePoint(s1, s1.getCoordinates().length - 1, inPoint);
  293 + //s2 = replacePoint(s2, 0, inPoint);
  294 +
  295 + //rs = toString(s1);
  296 + //rs += ("," + toString(s2));
  297 + rs = replacePoint(c1, s1.getCoordinates().length - 1, inPoint);
  298 + rs += ("," + replacePoint(c2, 0, null));
294 } 299 }
  300 + else {*/
  301 + //距离10米内的点直接连起来
  302 + double distance = GeoUtils.getDistanceLineToLine(s1.getStartPoint(), s1.getEndPoint(), s2.getStartPoint(), s2.getEndPoint());
  303 + if(distance < 10){
  304 + //s2 = replacePoint(s2, 0, s1.getEndPoint());
  305 + rs = c1;
  306 +
  307 + //获取c1终点到 c2 的垂直交点
  308 + //s1.getEndPoint()
  309 + //rs += ("," + replacePoint(c2, 0, null));
  310 + //rs = toString(s1);
  311 + //rs += ("," + toString(s2));
  312 + }
  313 + //}
295 return rs; 314 return rs;
296 } 315 }
297 316
  317 + /**
  318 + * 替换线段中指定的一个点位
  319 + * @param index
  320 + * @param p
  321 +
  322 + private LineString replacePoint(LineString line, int index, Point p){
  323 + Coordinate[] array = line.getCoordinates();
  324 + array[index] = p.getCoordinate();
  325 +
  326 + return geometryFactory.createLineString(array);
  327 + }*/
  328 +
  329 + private String replacePoint(String lineStr, int index, Point p){
  330 + List<String> list = new ArrayList<>(Splitter.on(",").splitToList(lineStr));
  331 + list.remove(index);
  332 + if(p != null){
  333 + list.add(index, p.getX() + " " + p.getY());
  334 + }
  335 + return Joiner.on(",").join(list);
  336 + }
  337 +
298 private LineString createLineString(String c){ 338 private LineString createLineString(String c){
299 List<String> list = Splitter.on(",").splitToList(c); 339 List<String> list = Splitter.on(",").splitToList(c);
300 340
@@ -307,7 +347,24 @@ public class RealMapServiceImpl implements RealMapService { @@ -307,7 +347,24 @@ public class RealMapServiceImpl implements RealMapService {
307 return geometryFactory.createLineString(cds); 347 return geometryFactory.createLineString(cds);
308 } 348 }
309 349
310 - private String truncationEnd(LineString lineString, Point p){ 350 + private String toString(LineString line){
  351 + Coordinate[] all = line.getCoordinates();
  352 +
  353 + Coordinate[] cs;
  354 + StringBuilder sb = new StringBuilder("");
  355 + for(int i = 0; i < all.length - 1; i ++){
  356 + cs = new Coordinate[2];
  357 + cs[0] = all[i];
  358 + cs[1] = all[i + 1];
  359 +
  360 + sb.append("," + cs[0].y + " " + cs[0].x);
  361 + sb.append("," + cs[1].y + " " + cs[1].x);
  362 + }
  363 + sb.deleteCharAt(0);
  364 + return sb.toString();
  365 + }
  366 +
  367 +/* private String truncationEnd(LineString lineString, Point p){
311 Coordinate[] all = lineString.getCoordinates(); 368 Coordinate[] all = lineString.getCoordinates();
312 LineString sl; 369 LineString sl;
313 370
@@ -359,5 +416,5 @@ public class RealMapServiceImpl implements RealMapService { @@ -359,5 +416,5 @@ public class RealMapServiceImpl implements RealMapService {
359 } 416 }
360 sb.deleteCharAt(0); 417 sb.deleteCharAt(0);
361 return sb.toString(); 418 return sb.toString();
362 - } 419 + }*/
363 } 420 }
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -49,7 +49,6 @@ import com.bsth.service.sys.DutyEmployeeService; @@ -49,7 +49,6 @@ import com.bsth.service.sys.DutyEmployeeService;
49 import com.bsth.util.*; 49 import com.bsth.util.*;
50 import com.bsth.websocket.handler.SendUtils; 50 import com.bsth.websocket.handler.SendUtils;
51 import com.google.common.base.Splitter; 51 import com.google.common.base.Splitter;
52 -import com.google.common.collect.BiMap;  
53 import com.google.common.collect.Lists; 52 import com.google.common.collect.Lists;
54 import org.apache.commons.lang3.StringEscapeUtils; 53 import org.apache.commons.lang3.StringEscapeUtils;
55 import org.apache.commons.lang3.StringUtils; 54 import org.apache.commons.lang3.StringUtils;
@@ -135,9 +134,50 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -135,9 +134,50 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
135 Logger logger = LoggerFactory.getLogger(this.getClass()); 134 Logger logger = LoggerFactory.getLogger(this.getClass());
136 135
137 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), 136 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
138 - sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm"), sdfShort = new SimpleDateFormat("HH:mm"),  
139 sdfSimple = new SimpleDateFormat("yyyyMMdd"); 137 sdfSimple = new SimpleDateFormat("yyyyMMdd");
140 138
  139 +
  140 + /**
  141 + * 车辆是否存在
  142 + * @param gsbm 公司编码
  143 + * @param nbbm 车辆自编号
  144 + * @return
  145 + */
  146 + private boolean carExist(String gsbm, String nbbm){
  147 + return BasicData.deviceId2NbbmMap.inverse().containsKey(nbbm);
  148 + }
  149 +
  150 + /**
  151 + * 获取人员姓名
  152 + * @param gsbm 公司编码
  153 + * @param gh 人员工号
  154 + * @return
  155 + */
  156 + private String getPersonName(String gsbm, String gh){
  157 + return BasicData.allPerson.get(gsbm + '-' + gh);
  158 + }
  159 +
  160 + @Override
  161 + public Iterable<ScheduleRealInfo> list(Map<String, Object> map) {
  162 + Iterator<ScheduleRealInfo> iterator = super.list(map).iterator();
  163 + Set<ScheduleRealInfo> set = new HashSet<>(100);
  164 +
  165 + DateTimeFormatter fmtyyyyMMddHHmm = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm");
  166 + //计算时间戳
  167 + ScheduleRealInfo sch;
  168 + while(iterator.hasNext()){
  169 + sch = iterator.next();
  170 + //待发时间戳
  171 + sch.setDfsjT(fmtyyyyMMddHHmm.parseMillis(sch.getRealExecDate() + sch.getDfsj()));
  172 + //实发时间戳
  173 + if(StringUtils.isNotEmpty(sch.getFcsjActual())){
  174 + sch.setFcsjActualTime(fmtyyyyMMddHHmm.parseMillis(sch.getRealExecDate() + sch.getFcsjActual()));
  175 + }
  176 + set.add(sch);
  177 + }
  178 + return set;
  179 + }
  180 +
141 @Override 181 @Override
142 public Map<String, Collection<ScheduleRealInfo>> findByLines(String lines) { 182 public Map<String, Collection<ScheduleRealInfo>> findByLines(String lines) {
143 List<String> lineList = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().split(lines)); 183 List<String> lineList = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().split(lines));
@@ -315,6 +355,97 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -315,6 +355,97 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
315 return rsList; 355 return rsList;
316 } 356 }
317 357
  358 + /**
  359 + * 添加到历史库
  360 + * @param t
  361 + * @return
  362 + */
  363 + @Override
  364 + public Map<String, Object> addToHistory(ScheduleRealInfo t) {
  365 + Map<String, Object> rs = new HashMap<>();
  366 + try {
  367 + if (!carExist(t.getGsBm(), t.getClZbh())) {
  368 + rs.put("msg", "车辆 " + t.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!");
  369 + rs.put("status", ResponseCode.ERROR);
  370 + return rs;
  371 + }
  372 +
  373 + SysUser user = SecurityUtils.getCurrentUser();
  374 + //String schDate = DayOfSchedule.currSchDateMap.get(t.getXlBm());
  375 +
  376 + SimpleDateFormat sdfyyyyMMdd = new SimpleDateFormat("yyyy-MM-dd"), sdfyyyyMMddHHmm = new SimpleDateFormat("yyyy-MM-ddHH:mm");
  377 +
  378 + if (StringUtils.isEmpty(t.getjGh())) {
  379 + rs.put("status", ResponseCode.ERROR);
  380 + rs.put("msg", "驾驶员工号不能为空!");
  381 + return rs;
  382 + }
  383 + //截取驾驶员工号
  384 + if (t.getjGh().indexOf("-") != -1) {
  385 + t.setjGh(t.getjGh().split("-")[1]);
  386 + }
  387 + //检查驾驶员工号
  388 + String jName = getPersonName(t.getGsBm() ,t.getjGh());
  389 + if(StringUtils.isEmpty(jName)){
  390 + rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的驾驶员");
  391 + rs.put("status", ResponseCode.ERROR);
  392 + return rs;
  393 + }
  394 + else if(StringUtils.isEmpty(t.getjName())){
  395 + t.setjName(jName);//补上驾驶员名称
  396 + }
  397 +
  398 + //有售票员
  399 + if(StringUtils.isNotEmpty(t.getsGh())){
  400 + String sName = getPersonName(t.getGsBm() , t.getsGh());
  401 + if(StringUtils.isEmpty(sName)){
  402 + rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的售票员");
  403 + rs.put("status", ResponseCode.ERROR);
  404 + return rs;
  405 + }else if(StringUtils.isEmpty(t.getsName())){
  406 + t.setsName(sName);//补上售票员名称
  407 + }
  408 + }
  409 +
  410 + //公司 和 分公司名称
  411 + t.setGsName(BasicData.businessCodeNameMap.get(t.getGsBm()));
  412 + t.setFgsName(BasicData.businessFgsCodeNameMap.get(t.getGsBm() + "_" + t.getFgsBm()));
  413 +
  414 + //t.setScheduleDateStr(schDate);
  415 + t.setScheduleDate(sdfyyyyMMdd.parse(t.getScheduleDateStr()));
  416 + t.setRealExecDate(t.getScheduleDateStr());
  417 + t.setCreateBy(user);
  418 + t.setSflj(true);
  419 + t.setLate(false);
  420 + t.setDfsj(t.getFcsj());
  421 + t.setZdsjT(sdfyyyyMMddHHmm.parse(t.getScheduleDateStr() + t.getZdsj()).getTime());
  422 + t.setJhlcOrig(t.getJhlc());
  423 +
  424 + //班次历时
  425 + t.setBcsj(DateUtils.calcHHmmDiff(t.getFcsj(), t.getZdsj()) / 1000 / 60);
  426 +
  427 + //起终点名称
  428 + String prefix = t.getXlBm() + "_" + t.getXlDir() + "_";
  429 + t.setQdzName(BasicData.getStationNameByCode(t.getQdzCode(), prefix));
  430 + t.setZdzName(BasicData.getStationNameByCode(t.getZdzCode(), prefix));
  431 +
  432 + //计算班次实际执行时间
  433 + schAttrCalculator.calcRealDate(t).calcAllTimeByFcsj(t);
  434 + if (t.getZdsjT() < t.getFcsjT()) {
  435 + rs.put("status", ResponseCode.ERROR);
  436 + rs.put("msg", "起终点时间异常!");
  437 + return rs;
  438 + }
  439 +
  440 + //实时入库
  441 + rs = super.save(t);
  442 + } catch (Exception e) {
  443 + logger.error("", e);
  444 + rs.put("status", ResponseCode.ERROR);
  445 + }
  446 + return rs;
  447 + }
  448 +
318 449
319 /** 450 /**
320 * 临加班次 451 * 临加班次
@@ -323,7 +454,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -323,7 +454,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
323 public Map<String, Object> save(ScheduleRealInfo t) { 454 public Map<String, Object> save(ScheduleRealInfo t) {
324 Map<String, Object> rs = new HashMap<>(); 455 Map<String, Object> rs = new HashMap<>();
325 try { 456 try {
326 - if (BasicData.deviceId2NbbmMap.inverse().get(t.getClZbh()) == null) { 457 + if (!carExist(t.getGsBm(), t.getClZbh())) {
327 rs.put("msg", "车辆 " + t.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!"); 458 rs.put("msg", "车辆 " + t.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!");
328 rs.put("status", ResponseCode.ERROR); 459 rs.put("status", ResponseCode.ERROR);
329 return rs; 460 return rs;
@@ -344,7 +475,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -344,7 +475,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
344 t.setjGh(t.getjGh().split("-")[1]); 475 t.setjGh(t.getjGh().split("-")[1]);
345 } 476 }
346 //检查驾驶员工号 477 //检查驾驶员工号
347 - String jName = BasicData.allPerson.get(t.getGsBm() + '-' + t.getjGh()); 478 + String jName = getPersonName(t.getGsBm() ,t.getjGh());
348 if(StringUtils.isEmpty(jName)){ 479 if(StringUtils.isEmpty(jName)){
349 rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的驾驶员"); 480 rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的驾驶员");
350 rs.put("status", ResponseCode.ERROR); 481 rs.put("status", ResponseCode.ERROR);
@@ -356,7 +487,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -356,7 +487,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
356 487
357 //有售票员 488 //有售票员
358 if(StringUtils.isNotEmpty(t.getsGh())){ 489 if(StringUtils.isNotEmpty(t.getsGh())){
359 - String sName = BasicData.allPerson.get(t.getGsBm() + '-' + t.getsGh()); 490 + String sName = getPersonName(t.getGsBm() , t.getsGh());
360 if(StringUtils.isEmpty(sName)){ 491 if(StringUtils.isEmpty(sName)){
361 rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的售票员"); 492 rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的售票员");
362 rs.put("status", ResponseCode.ERROR); 493 rs.put("status", ResponseCode.ERROR);
@@ -409,7 +540,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -409,7 +540,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
409 dayOfSchedule.reCalcExecPlan(t.getClZbh()); 540 dayOfSchedule.reCalcExecPlan(t.getClZbh());
410 541
411 542
412 - rs.put("ts", ts); 543 + rs.put("ts", ts);
413 rs.put("t", t); 544 rs.put("t", t);
414 } catch (Exception e) { 545 } catch (Exception e) {
415 logger.error("", e); 546 logger.error("", e);
@@ -418,6 +549,41 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -418,6 +549,41 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
418 return rs; 549 return rs;
419 } 550 }
420 551
  552 + /**
  553 + * 删除历史表临加班次
  554 + * @param id
  555 + * @return
  556 + */
  557 + @Override
  558 + public Map<String, Object> deleteToHistory(Long id) {
  559 + Map<String, Object> rs = new HashMap<>();
  560 + rs.put("status", ResponseCode.ERROR);
  561 +
  562 + try {
  563 + ScheduleRealInfo sch = super.findById(id);
  564 + if (sch == null) {
  565 + rs.put("msg", "无效的id号");
  566 + return rs;
  567 + }
  568 +
  569 + if (!sch.isSflj()) {
  570 + rs.put("msg", "你只能删除临加班次");
  571 + return rs;
  572 + }
  573 +
  574 + //解除和调度指令的外键约束
  575 + jdbcTemplate.update(Constants.REMOVE_DIRECTIVE_SCH_FK, id);
  576 +
  577 + //数据库删除
  578 + rs = super.delete(id);
  579 + }catch (Exception e){
  580 + logger.error("", e);
  581 + rs.put("msg", e.getMessage());
  582 + }
  583 +
  584 + return rs;
  585 + }
  586 +
421 @Override 587 @Override
422 public Map<String, Object> delete(Long id) { 588 public Map<String, Object> delete(Long id) {
423 Map<String, Object> rs = new HashMap<>(); 589 Map<String, Object> rs = new HashMap<>();
@@ -999,7 +1165,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -999,7 +1165,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
999 String clZbh = map.get("clZbh"); 1165 String clZbh = map.get("clZbh");
1000 if (StringUtils.isNotEmpty(clZbh)) { 1166 if (StringUtils.isNotEmpty(clZbh)) {
1001 //换车 1167 //换车
1002 - if (!BasicData.deviceId2NbbmMap.inverse().containsKey(clZbh)) { 1168 + if (!carExist(sch.getGsBm(), clZbh)) {
1003 rs.put("status", ResponseCode.ERROR); 1169 rs.put("status", ResponseCode.ERROR);
1004 rs.put("msg", "车辆 " + clZbh + " 不存在!"); 1170 rs.put("msg", "车辆 " + clZbh + " 不存在!");
1005 return rs; 1171 return rs;
@@ -1013,7 +1179,14 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1013,7 +1179,14 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1013 */ 1179 */
1014 String jsy = map.get("jsy"); 1180 String jsy = map.get("jsy");
1015 if (StringUtils.isNotEmpty(jsy) && jsy.indexOf("/") != -1) { 1181 if (StringUtils.isNotEmpty(jsy) && jsy.indexOf("/") != -1) {
1016 - persoChange(sch, jsy.split("/")[0]); 1182 + String jGh = jsy.split("/")[0];
  1183 + String jName = getPersonName(sch.getGsBm(), jGh);
  1184 + if(StringUtils.isEmpty(jName)){
  1185 + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + jGh + "】的驾驶员");
  1186 + rs.put("status", ResponseCode.ERROR);
  1187 + return rs;
  1188 + }
  1189 + persoChange(sch, jGh);
1017 } 1190 }
1018 1191
1019 /** 1192 /**
@@ -1021,7 +1194,14 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1021,7 +1194,14 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1021 */ 1194 */
1022 String spy = map.get("spy"); 1195 String spy = map.get("spy");
1023 if (StringUtils.isNotEmpty(spy) && spy.indexOf("/") != -1 && !spy.equals("/")) { 1196 if (StringUtils.isNotEmpty(spy) && spy.indexOf("/") != -1 && !spy.equals("/")) {
1024 - persoChangeSPY(sch, spy.split("/")[0]); 1197 + String sGh = spy.split("/")[0];
  1198 + String sName = getPersonName(sch.getGsBm(), sGh);
  1199 + if(StringUtils.isEmpty(sName)){
  1200 + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + sGh + "】的售票员");
  1201 + rs.put("status", ResponseCode.ERROR);
  1202 + return rs;
  1203 + }
  1204 + persoChangeSPY(sch, sGh);
1025 } 1205 }
1026 else{ 1206 else{
1027 sch.setsGh(""); 1207 sch.setsGh("");
@@ -2852,23 +3032,25 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2852,23 +3032,25 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2852 Set<ScheduleRealInfo> set = new HashSet<>(); 3032 Set<ScheduleRealInfo> set = new HashSet<>();
2853 3033
2854 ScheduleRealInfo sch; 3034 ScheduleRealInfo sch;
2855 - BiMap<String, String> map = BasicData.deviceId2NbbmMap.inverse(); 3035 + //BiMap<String, String> map = BasicData.deviceId2NbbmMap.inverse();
2856 3036
  3037 + String jGh,jName,sGh,sName;
2857 for (ChangePersonCar cpc : cpcs) { 3038 for (ChangePersonCar cpc : cpcs) {
2858 3039
2859 - if (cpc.getClZbh() != null && map.get(cpc.getClZbh()) == null) { 3040 + sch = dayOfSchedule.get(cpc.getSchId());
  3041 + if (sch == null)
  3042 + continue;
  3043 +
  3044 + if (cpc.getClZbh() != null && !carExist(sch.getGsBm(), cpc.getClZbh())) {
2860 rs.put("msg", "车辆 " + cpc.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!"); 3045 rs.put("msg", "车辆 " + cpc.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!");
2861 rs.put("status", ResponseCode.ERROR); 3046 rs.put("status", ResponseCode.ERROR);
2862 return rs; 3047 return rs;
2863 } 3048 }
2864 3049
2865 - sch = dayOfSchedule.get(cpc.getSchId());  
2866 - if (sch == null)  
2867 - continue;  
2868 -  
2869 if (StringUtils.isNotEmpty(cpc.getJsy())) { 3050 if (StringUtils.isNotEmpty(cpc.getJsy())) {
2870 - String jGh = cpc.getJsy().split("/")[0];  
2871 - if(!BasicData.allPerson.containsKey(sch.getGsBm()+"-"+jGh)){ 3051 + jGh = cpc.getJsy().split("/")[0];
  3052 + jName = getPersonName(sch.getGsBm(), jGh);
  3053 + if(StringUtils.isEmpty(jName)){
2872 rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + jGh + "】的驾驶员"); 3054 rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + jGh + "】的驾驶员");
2873 rs.put("status", ResponseCode.ERROR); 3055 rs.put("status", ResponseCode.ERROR);
2874 return rs; 3056 return rs;
@@ -2880,9 +3062,20 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2880,9 +3062,20 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2880 3062
2881 //换售票员 3063 //换售票员
2882 if (StringUtils.isNotEmpty(cpc.getSpy())) { 3064 if (StringUtils.isNotEmpty(cpc.getSpy())) {
2883 - persoChangeSPY(sch, cpc.getSpy().split("/")[0]); 3065 + sGh = cpc.getSpy().split("/")[0];
  3066 + sName = getPersonName(sch.getGsBm(), sGh);
  3067 + if(StringUtils.isEmpty(sName)){
  3068 + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + sGh + "】的售票员");
  3069 + rs.put("status", ResponseCode.ERROR);
  3070 + return rs;
  3071 + }
  3072 + persoChangeSPY(sch, sGh);
2884 set.add(sch); 3073 set.add(sch);
2885 } 3074 }
  3075 + else if(StringUtils.isNotEmpty(sch.getsGh())){
  3076 + sch.setsGh("");
  3077 + sch.setsName("");
  3078 + }
2886 3079
2887 //换车 3080 //换车
2888 if (StringUtils.isNotEmpty(cpc.getClZbh())) { 3081 if (StringUtils.isNotEmpty(cpc.getClZbh())) {
@@ -2905,7 +3098,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2905,7 +3098,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2905 public void persoChange(ScheduleRealInfo sch, String jGh) { 3098 public void persoChange(ScheduleRealInfo sch, String jGh) {
2906 if (sch.getjGh().equals(jGh)) 3099 if (sch.getjGh().equals(jGh))
2907 return; 3100 return;
2908 - String jName = BasicData.allPerson.get(sch.getGsBm() + "-"+ jGh); 3101 + String jName = getPersonName(sch.getGsBm() , jGh);
2909 if (StringUtils.isNotEmpty(jName)) { 3102 if (StringUtils.isNotEmpty(jName)) {
2910 3103
2911 if (jGh.indexOf("-") != -1) 3104 if (jGh.indexOf("-") != -1)
@@ -2924,7 +3117,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2924,7 +3117,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2924 public void persoChangeSPY(ScheduleRealInfo sch, String sGh) { 3117 public void persoChangeSPY(ScheduleRealInfo sch, String sGh) {
2925 if (sch.getsGh().equals(sGh)) 3118 if (sch.getsGh().equals(sGh))
2926 return; 3119 return;
2927 - String sName = BasicData.allPerson.get(sGh); 3120 + String sName = getPersonName(sch.getGsBm() , sGh);
2928 if (StringUtils.isNotEmpty(sName)) { 3121 if (StringUtils.isNotEmpty(sName)) {
2929 if (sGh.indexOf("-") != -1) 3122 if (sGh.indexOf("-") != -1)
2930 sch.setsGh(sGh.substring(sGh.indexOf("-") + 1)); 3123 sch.setsGh(sGh.substring(sGh.indexOf("-") + 1));
@@ -3051,31 +3244,69 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3051,31 +3244,69 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3051 return rs; 3244 return rs;
3052 } 3245 }
3053 3246
3054 - /* @Override 3247 + @Override
3055 public Map<String, Object> historySave(ScheduleRealInfo sch) { 3248 public Map<String, Object> historySave(ScheduleRealInfo sch) {
3056 Map<String, Object> rs = new HashMap<>(); 3249 Map<String, Object> rs = new HashMap<>();
3057 rs.put("status", ResponseCode.ERROR); 3250 rs.put("status", ResponseCode.ERROR);
3058 3251
3059 ScheduleRealInfo oldSch = super.findById(sch.getId()); 3252 ScheduleRealInfo oldSch = super.findById(sch.getId());
3060 - //修改车辆  
3061 - if (!oldSch.getClZbh().equals(sch.getClZbh())) {  
3062 - Set<String> allCar = BasicData.deviceId2NbbmMap.values();  
3063 - if (!allCar.contains(sch.getClZbh())) {  
3064 - rs.put("msg", "无效的车辆自编号"); 3253 +
  3254 + //换车
  3255 + if (StringUtils.isNotEmpty(sch.getClZbh()) && !oldSch.getClZbh().equals(sch.getClZbh())) {
  3256 + if (!carExist(oldSch.getGsBm(),sch.getClZbh())) {
  3257 + rs.put("msg", "车辆 " + sch.getClZbh() + " 不存在!");
3065 return rs; 3258 return rs;
3066 } else 3259 } else
3067 oldSch.setClZbh(sch.getClZbh()); 3260 oldSch.setClZbh(sch.getClZbh());
3068 } 3261 }
3069 3262
3070 - //修改驾驶员  
3071 - if (!oldSch.getjGh().equals(sch.getjGh())) {  
3072 - Map<String, String> allPer = BasicData.allPerson;  
3073 - if (!allPer.containsKey(sch.getjGh())) {  
3074 - rs.put("msg", "无效的驾驶员"); 3263 + //换驾驶员
  3264 + if (StringUtils.isNotEmpty(sch.getjGh()) && !oldSch.getjGh().equals(sch.getjGh())) {
  3265 + String jName = getPersonName(oldSch.getGsBm(), sch.getjGh());
  3266 + if(StringUtils.isEmpty(jName)){
  3267 + rs.put("msg", oldSch.getXlName() + "所属的公司编码下找不到工号为【" + sch.getjGh() + "】的驾驶员");
3075 return rs; 3268 return rs;
3076 - } else {  
3077 - oldSch.setjGh(sch.getjGh());  
3078 - oldSch.setjName(allPer.get(oldSch.getjGh())); 3269 + }
  3270 + persoChange(oldSch, sch.getjGh());
  3271 + }
  3272 +
  3273 + //换售票员
  3274 + if (StringUtils.isNotEmpty(sch.getsGh()) && !oldSch.getsGh().equals(sch.getsGh())) {
  3275 + String sName = getPersonName(oldSch.getGsBm(), sch.getsGh());
  3276 + if(StringUtils.isEmpty(sName)){
  3277 + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + sch.getsGh() + "】的售票员");
  3278 + return rs;
  3279 + }
  3280 + persoChangeSPY(oldSch, sch.getsGh());
  3281 + }
  3282 +
  3283 + //烂班
  3284 + boolean dest1 = oldSch.getStatus() == -1;
  3285 + boolean dest2 = sch.getStatus() == -1;
  3286 + if (!dest1 && dest2) {
  3287 + oldSch.destroy();
  3288 + }
  3289 + else if(dest1 && !dest2){
  3290 + //撤销烂班
  3291 + oldSch.setJhlc(oldSch.getJhlcOrig());
  3292 + oldSch.setStatus(0);
  3293 + oldSch.calcStatus();
  3294 + }
  3295 +
  3296 +
  3297 + /**
  3298 + * 修改班次里程
  3299 + */
  3300 + if (!oldSch.getJhlc().equals(sch.getJhlc())) {
  3301 + double jhlcNum = sch.getJhlc();
  3302 + //烂班
  3303 + if(jhlcNum == 0 && oldSch.getJhlcOrig() != 0)
  3304 + oldSch.destroy();
  3305 + else {
  3306 + oldSch.setJhlc(jhlcNum);
  3307 + //临加班次,实际计划一起改
  3308 + if(oldSch.isSflj())
  3309 + oldSch.setJhlcOrig(jhlcNum);
3079 } 3310 }
3080 } 3311 }
3081 3312
@@ -3091,7 +3322,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3091,7 +3322,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3091 scheduleRealInfoRepository.save(oldSch); 3322 scheduleRealInfoRepository.save(oldSch);
3092 rs.put("status", ResponseCode.SUCCESS); 3323 rs.put("status", ResponseCode.SUCCESS);
3093 return rs; 3324 return rs;
3094 - }*/ 3325 + }
3095 3326
3096 @Autowired 3327 @Autowired
3097 SvgAttributeRepository svgAttributeRepository; 3328 SvgAttributeRepository svgAttributeRepository;
src/main/java/com/bsth/service/schedule/PeopleCarPlanServiceImpl.java
@@ -495,8 +495,12 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -495,8 +495,12 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
495 Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); 495 Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>();
496 Map<String, Object> modelMap = new HashMap<String, Object>(); 496 Map<String, Object> modelMap = new HashMap<String, Object>();
497 497
498 - String company = map.get("company").toString();  
499 - String subCompany = map.get("subCompany").toString(); 498 + String company = "";
  499 + if(map.get("company")!=null)
  500 + company=map.get("company").toString();
  501 + String subCompany = "";
  502 + if(map.get("subCompany")!=null)
  503 + subCompany=map.get("subCompany").toString();
500 String page = map.get("page").toString(); 504 String page = map.get("page").toString();
501 String line = map.get("line").toString(); 505 String line = map.get("line").toString();
502 String startDate = map.get("startDate").toString(); 506 String startDate = map.get("startDate").toString();
@@ -516,9 +520,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -516,9 +520,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
516 if(line.length() != 0){ 520 if(line.length() != 0){
517 sql += " and xl_bm = '"+line+"'"; 521 sql += " and xl_bm = '"+line+"'";
518 } 522 }
519 - if(company.length() != 0){  
520 - sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'";  
521 - } 523 +// if(company.length() != 0){
  524 + sql += " and gs_bm like %'"+company+"'% and fgs_bm like %'"+subCompany+"%'";
  525 +// }
522 sql += " and bc_type != 'in' and bc_type != 'out'"; 526 sql += " and bc_type != 'in' and bc_type != 'out'";
523 527
524 list = jdbcTemplate.query(sql, 528 list = jdbcTemplate.query(sql,
src/main/java/com/bsth/service/schedule/SchedulePlanInfoService.java
1 package com.bsth.service.schedule; 1 package com.bsth.service.schedule;
2 2
3 import com.bsth.entity.schedule.SchedulePlanInfo; 3 import com.bsth.entity.schedule.SchedulePlanInfo;
4 -import com.bsth.service.BaseService; 4 +import org.apache.commons.lang3.StringUtils;
5 import org.joda.time.DateTime; 5 import org.joda.time.DateTime;
6 6
  7 +import java.sql.ResultSet;
  8 +import java.sql.SQLException;
7 import java.util.ArrayList; 9 import java.util.ArrayList;
  10 +import java.util.Arrays;
8 import java.util.Date; 11 import java.util.Date;
9 import java.util.List; 12 import java.util.List;
10 13
11 /** 14 /**
12 * Created by xu on 16/6/16. 15 * Created by xu on 16/6/16.
13 */ 16 */
14 -public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, Long> { 17 +public interface SchedulePlanInfoService extends BService<SchedulePlanInfo, Long> {
  18 +
  19 + /**
  20 + * 查找排班计划汇总数据。
  21 + * @param xlId 线路Id
  22 + * @param scheduleDate 排班时间
  23 + * @return
  24 + */
  25 + List<SchedulePlanGroupInfo> findSchedulePlanGroupInfo(Integer xlId, Date scheduleDate);
  26 +
15 /** 27 /**
  28 + * 排班计划分组信息。
  29 + */
  30 + static class SchedulePlanGroupInfo implements Comparable<SchedulePlanGroupInfo> {
  31 + //------------------ 分组字段 ----------------//
  32 + /** 线路Id */
  33 + private Integer xlId;
  34 + /** 线路名字 */
  35 + private String xlName;
  36 + /** 排班时间 */
  37 + private Date scheduleDate;
  38 + /** 路牌Id */
  39 + private Long lpId;
  40 + /** 路牌名字 */
  41 + private String lpName;
  42 +
  43 + //------------------ 聚合数据(按照发车顺序号排序的 asc) ----------------//
  44 + /** 车辆自编号s */
  45 + private List<String> clZbhs;
  46 + /** 出场时间s */
  47 + private List<String> ccsjs;
  48 + /** 进场时间s */
  49 + private List<String> jcsjs;
  50 + /** 驾驶员名字s */
  51 + private List<String> jsyNames;
  52 + /** 驾驶员工号s */
  53 + private List<String> jsyGhs;
  54 + /** 售票员名字s */
  55 + private List<String> spyNames;
  56 + /** 售票员工号s */
  57 + private List<String> spyGhs;
  58 +
  59 + /** 修改时间 */
  60 + private Date updateDate;
  61 + /** 修改人名 */
  62 + private String updateByName;
  63 + /** 时刻表名字 */
  64 + private String ttInfoName;
  65 +
  66 + @Override
  67 + public int compareTo(SchedulePlanGroupInfo o) {
  68 + // 路牌名字排序,数字路牌名在前,非数字在后
  69 + // 数字按照从小到大排序,非数字按照字符串从小到大排列
  70 +
  71 + if (StringUtils.isNumeric(this.lpName)) {
  72 + if (StringUtils.isNumeric(o.lpName)) {
  73 + return Long.valueOf(this.lpName).compareTo(Long.valueOf(o.lpName));
  74 + } else {
  75 + return -1;
  76 + }
  77 + } else {
  78 + if (StringUtils.isNumeric(o.lpName)) {
  79 + return 1;
  80 + } else {
  81 + return this.lpName.compareTo(o.lpName);
  82 + }
  83 + }
  84 + }
  85 +
  86 + public static String generateSelectSql() {
  87 + return "select " +
  88 + "info.xl as xlId " +
  89 + ", info.xl_name as xlName " +
  90 + ", info.schedule_date as scheduleDate " +
  91 + ", gbi.id as lpId " +
  92 + ", info.lp_name as lpName " +
  93 + ", GROUP_CONCAT(distinct info.cl_zbh order by info.fcno) as clzbhs " +
  94 + ", GROUP_CONCAT(info.fcsj order by info.fcno) as fcsjs " +
  95 + ", GROUP_CONCAT(info.bc_type order by info.fcno) as bctypes " +
  96 + ", GROUP_CONCAT(distinct info.j_name order by info.fcno) as jsyNames " +
  97 + ", GROUP_CONCAT(distinct info.j_gh order by info.fcno) as jsyGhs " +
  98 + ", GROUP_CONCAT(distinct info.s_name order by info.fcno) as spyNames " +
  99 + ", GROUP_CONCAT(distinct info.s_gh order by info.fcno) as spyGhs " +
  100 + ", max(info.update_date) as updateDate " +
  101 + ", max(user.user_name) as updateUserName " +
  102 + ", max(info.tt_info_name) as ttInfoName " +
  103 + "from bsth_c_s_sp_info info left join bsth_c_sys_user user on info.update_by = user.id " +
  104 + "left join bsth_c_s_gbi gbi on info.lp = gbi.id " +
  105 + "where info.xl = ? and info.schedule_date = ? " +
  106 + "group by info.xl, info.xl_name, info.schedule_date, info.lp, info.lp_name " +
  107 + "order by info.xl, info.schedule_date, gbi.lp_no ";
  108 + }
  109 +
  110 + public void setFromResult(ResultSet rs) throws SQLException {
  111 + this.xlId = rs.getInt("xlId");
  112 + this.xlName = rs.getString("xlName");
  113 + this.scheduleDate = new Date(rs.getDate("scheduleDate").getTime());
  114 + this.lpId = rs.getLong("lpId");
  115 + this.lpName = rs.getString("lpName");
  116 +
  117 + // 车辆自编号
  118 + this.clZbhs = new ArrayList<>();
  119 + String clzbhs_temp = rs.getString("clzbhs");
  120 + if (StringUtils.isNotEmpty(clzbhs_temp)) {
  121 + this.clZbhs.addAll(Arrays.asList(clzbhs_temp.split(",")));
  122 + }
  123 +
  124 + // 出场,进场时间
  125 + this.ccsjs = new ArrayList<>();
  126 + this.jcsjs = new ArrayList<>();
  127 + String fcsjs_temp = rs.getString("fcsjs");
  128 + String bctype_temp = rs.getString("bctypes");
  129 + if (StringUtils.isNotEmpty(fcsjs_temp) && StringUtils.isNotEmpty(bctype_temp)) {
  130 + String[] fcsjs_array = fcsjs_temp.split(",");
  131 + String[] bctype_array = bctype_temp.split(",");
  132 + if (fcsjs_array.length == bctype_array.length) {
  133 + for (int i = 0; i < fcsjs_array.length; i++) {
  134 + if ("out".equals(bctype_array[i])) {
  135 + this.ccsjs.add(fcsjs_array[i]);
  136 + } else if ("in".equals(bctype_array[i])) {
  137 + this.jcsjs.add(fcsjs_array[i]);
  138 + }
  139 + }
  140 + }
  141 + }
  142 +
  143 + // 驾驶员
  144 + this.jsyNames = new ArrayList<>();
  145 + String jsyNames_temp = rs.getString("jsyNames");
  146 + if (StringUtils.isNotEmpty(jsyNames_temp)) {
  147 + this.jsyNames.addAll(Arrays.asList(jsyNames_temp.split(",")));
  148 + }
  149 + this.jsyGhs = new ArrayList<>();
  150 + String jsyGhs_temp = rs.getString("jsyGhs");
  151 + if (StringUtils.isNotEmpty(jsyGhs_temp)) {
  152 + this.jsyGhs.addAll(Arrays.asList(jsyGhs_temp.split(",")));
  153 + }
  154 +
  155 + // 售票员
  156 + this.spyNames = new ArrayList<>();
  157 + String spyNames_temp = rs.getString("spyNames");
  158 + if (StringUtils.isNotEmpty(spyNames_temp)) {
  159 + this.spyNames.addAll(Arrays.asList(spyNames_temp.split(",")));
  160 + }
  161 + this.spyGhs = new ArrayList<>();
  162 + String spyGhs_temp = rs.getString("spyGhs");
  163 + if (StringUtils.isNotEmpty(spyGhs_temp)) {
  164 + this.spyGhs.addAll(Arrays.asList(spyGhs_temp.split(",")));
  165 + }
  166 +
  167 + this.updateDate = new Date(rs.getDate("updateDate").getTime());
  168 + this.updateByName = rs.getString("updateUserName");
  169 + this.ttInfoName = rs.getString("ttInfoName");
  170 +
  171 + }
  172 +
  173 + public Integer getXlId() {
  174 + return xlId;
  175 + }
  176 +
  177 + public void setXlId(Integer xlId) {
  178 + this.xlId = xlId;
  179 + }
  180 +
  181 + public String getXlName() {
  182 + return xlName;
  183 + }
  184 +
  185 + public void setXlName(String xlName) {
  186 + this.xlName = xlName;
  187 + }
  188 +
  189 + public Date getScheduleDate() {
  190 + return scheduleDate;
  191 + }
  192 +
  193 + public void setScheduleDate(Date scheduleDate) {
  194 + this.scheduleDate = scheduleDate;
  195 + }
  196 +
  197 + public Long getLpId() {
  198 + return lpId;
  199 + }
  200 +
  201 + public void setLpId(Long lpId) {
  202 + this.lpId = lpId;
  203 + }
  204 +
  205 + public String getLpName() {
  206 + return lpName;
  207 + }
  208 +
  209 + public void setLpName(String lpName) {
  210 + this.lpName = lpName;
  211 + }
  212 +
  213 + public List<String> getClZbhs() {
  214 + return clZbhs;
  215 + }
  216 +
  217 + public void setClZbhs(List<String> clZbhs) {
  218 + this.clZbhs = clZbhs;
  219 + }
  220 +
  221 + public List<String> getCcsjs() {
  222 + return ccsjs;
  223 + }
  224 +
  225 + public void setCcsjs(List<String> ccsjs) {
  226 + this.ccsjs = ccsjs;
  227 + }
  228 +
  229 + public List<String> getJcsjs() {
  230 + return jcsjs;
  231 + }
  232 +
  233 + public void setJcsjs(List<String> jcsjs) {
  234 + this.jcsjs = jcsjs;
  235 + }
  236 +
  237 + public List<String> getJsyNames() {
  238 + return jsyNames;
  239 + }
  240 +
  241 + public void setJsyNames(List<String> jsyNames) {
  242 + this.jsyNames = jsyNames;
  243 + }
  244 +
  245 + public List<String> getJsyGhs() {
  246 + return jsyGhs;
  247 + }
  248 +
  249 + public void setJsyGhs(List<String> jsyGhs) {
  250 + this.jsyGhs = jsyGhs;
  251 + }
  252 +
  253 + public List<String> getSpyNames() {
  254 + return spyNames;
  255 + }
  256 +
  257 + public void setSpyNames(List<String> spyNames) {
  258 + this.spyNames = spyNames;
  259 + }
  260 +
  261 + public List<String> getSpyGhs() {
  262 + return spyGhs;
  263 + }
  264 +
  265 + public void setSpyGhs(List<String> spyGhs) {
  266 + this.spyGhs = spyGhs;
  267 + }
  268 +
  269 + public Date getUpdateDate() {
  270 + return updateDate;
  271 + }
  272 +
  273 + public void setUpdateDate(Date updateDate) {
  274 + this.updateDate = updateDate;
  275 + }
  276 +
  277 + public String getUpdateByName() {
  278 + return updateByName;
  279 + }
  280 +
  281 + public void setUpdateByName(String updateByName) {
  282 + this.updateByName = updateByName;
  283 + }
  284 +
  285 + public String getTtInfoName() {
  286 + return ttInfoName;
  287 + }
  288 +
  289 + public void setTtInfoName(String ttInfoName) {
  290 + this.ttInfoName = ttInfoName;
  291 + }
  292 + }
  293 +
  294 + //---------------------------- 以下是过去版本 -------------------------------//
  295 + /**
16 * 查找分组排班信息。 296 * 查找分组排班信息。
17 * @param xlid 线路Id 297 * @param xlid 线路Id
18 * @param scheduleDate 排班日期 298 * @param scheduleDate 排班日期
src/main/java/com/bsth/service/schedule/SchedulePlanInfoServiceImpl.java renamed to src/main/java/com/bsth/service/schedule/impl/SchedulePlanInfoServiceImpl.java
1 -package com.bsth.service.schedule; 1 +package com.bsth.service.schedule.impl;
2 2
3 import com.bsth.entity.schedule.SchedulePlanInfo; 3 import com.bsth.entity.schedule.SchedulePlanInfo;
4 import com.bsth.repository.schedule.SchedulePlanInfoRepository; 4 import com.bsth.repository.schedule.SchedulePlanInfoRepository;
5 -import com.bsth.service.impl.BaseServiceImpl; 5 +import com.bsth.service.schedule.SchedulePlanInfoService;
6 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.jdbc.core.JdbcTemplate;
  8 +import org.springframework.jdbc.core.RowMapper;
7 import org.springframework.stereotype.Service; 9 import org.springframework.stereotype.Service;
8 import org.springframework.transaction.annotation.Transactional; 10 import org.springframework.transaction.annotation.Transactional;
9 11
  12 +import java.sql.ResultSet;
  13 +import java.sql.SQLException;
10 import java.util.ArrayList; 14 import java.util.ArrayList;
  15 +import java.util.Collections;
11 import java.util.Date; 16 import java.util.Date;
12 import java.util.List; 17 import java.util.List;
13 18
@@ -15,7 +20,28 @@ import java.util.List; @@ -15,7 +20,28 @@ import java.util.List;
15 * Created by xu on 16/6/16. 20 * Created by xu on 16/6/16.
16 */ 21 */
17 @Service 22 @Service
18 -public class SchedulePlanInfoServiceImpl extends BaseServiceImpl<SchedulePlanInfo, Long> implements SchedulePlanInfoService { 23 +public class SchedulePlanInfoServiceImpl extends BServiceImpl<SchedulePlanInfo, Long> implements SchedulePlanInfoService {
  24 + @Autowired
  25 + private JdbcTemplate jdbcTemplate;
  26 +
  27 + @Override
  28 + public List<SchedulePlanGroupInfo> findSchedulePlanGroupInfo(Integer xlId, Date scheduleDate) {
  29 + String sql = SchedulePlanGroupInfo.generateSelectSql();
  30 + List<SchedulePlanGroupInfo> schedulePlanGroupInfos = jdbcTemplate.query(sql, new Object[]{xlId, scheduleDate}, new RowMapper<SchedulePlanGroupInfo>() {
  31 + @Override
  32 + public SchedulePlanGroupInfo mapRow(ResultSet resultSet, int i) throws SQLException {
  33 + SchedulePlanGroupInfo schedulePlanGroupInfo = new SchedulePlanGroupInfo();
  34 + schedulePlanGroupInfo.setFromResult(resultSet);
  35 + return schedulePlanGroupInfo;
  36 + }
  37 + });
  38 +
  39 + // 排序
  40 + Collections.sort(schedulePlanGroupInfos);
  41 +
  42 + return schedulePlanGroupInfos;
  43 + }
  44 +
19 @Autowired 45 @Autowired
20 private SchedulePlanInfoRepository schedulePlanInfoRepository; 46 private SchedulePlanInfoRepository schedulePlanInfoRepository;
21 47
src/main/java/com/bsth/websocket/handler/RealControlSocketHandler.java
@@ -47,7 +47,7 @@ public class RealControlSocketHandler implements WebSocketHandler { @@ -47,7 +47,7 @@ public class RealControlSocketHandler implements WebSocketHandler {
47 listenMap.remove(k, remMap.get(k)); 47 listenMap.remove(k, remMap.get(k));
48 logger.info("web socket close, remove listen K: "+ k); 48 logger.info("web socket close, remove listen K: "+ k);
49 } 49 }
50 - logger.info("listen values size: " + listenMap.values().size()); 50 + logger.info("listen values size: " + listenMap.values().size() + " -CloseStatus:" + arg1);
51 } 51 }
52 52
53 @Override 53 @Override
src/main/resources/logback.xml
@@ -161,7 +161,7 @@ @@ -161,7 +161,7 @@
161 class="ch.qos.logback.core.rolling.RollingFileAppender"> 161 class="ch.qos.logback.core.rolling.RollingFileAppender">
162 <file>${LOG_BASE}/gps/count.log</file> 162 <file>${LOG_BASE}/gps/count.log</file>
163 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 163 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
164 - <fileNamePattern>${LOG_BASE}/gps_count/gateway-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 164 + <fileNamePattern>${LOG_BASE}/gps/count-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
165 <timeBasedFileNamingAndTriggeringPolicy 165 <timeBasedFileNamingAndTriggeringPolicy
166 class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 166 class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
167 <maxFileSize>100MB</maxFileSize> 167 <maxFileSize>100MB</maxFileSize>
src/main/resources/static/assets/bower_components/angular-i18n/.bower.json 0 → 100644
  1 +{
  2 + "name": "angular-i18n",
  3 + "version": "1.6.4",
  4 + "license": "MIT",
  5 + "ignore": [
  6 + "**/.*",
  7 + "node_modules",
  8 + "components",
  9 + "precommit.sh"
  10 + ],
  11 + "homepage": "https://github.com/angular/bower-angular-i18n",
  12 + "_release": "1.6.4",
  13 + "_resolution": {
  14 + "type": "version",
  15 + "tag": "v1.6.4",
  16 + "commit": "2cfeab26b13f2ac75580aea3200ff2f9ee3d8fcd"
  17 + },
  18 + "_source": "https://github.com/angular/bower-angular-i18n.git",
  19 + "_target": "^1.6.4",
  20 + "_originalSource": "angular-i18n",
  21 + "_direct": true
  22 +}
0 \ No newline at end of file 23 \ No newline at end of file
src/main/resources/static/assets/bower_components/angular-i18n/LICENSE.md 0 → 100644
  1 +The MIT License (MIT)
  2 +
  3 +Copyright (c) 2016 Angular
  4 +
  5 +Permission is hereby granted, free of charge, to any person obtaining a copy
  6 +of this software and associated documentation files (the "Software"), to deal
  7 +in the Software without restriction, including without limitation the rights
  8 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9 +copies of the Software, and to permit persons to whom the Software is
  10 +furnished to do so, subject to the following conditions:
  11 +
  12 +The above copyright notice and this permission notice shall be included in all
  13 +copies or substantial portions of the Software.
  14 +
  15 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  18 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  19 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  20 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  21 +SOFTWARE.
src/main/resources/static/assets/bower_components/angular-i18n/README.md 0 → 100644
  1 +# packaged angular-i18n
  2 +
  3 +This repo is for distribution on `npm` and `bower`. The source for this module is in the
  4 +[main AngularJS repo](https://github.com/angular/angular.js).
  5 +Please file issues and pull requests against that repo.
  6 +
  7 +## Install
  8 +
  9 +You can install this package either with `npm` or with `bower`.
  10 +
  11 +### npm
  12 +
  13 +```shell
  14 +npm install angular-i18n
  15 +```
  16 +
  17 +Add a `<script>` to your `index.html`:
  18 +
  19 +```html
  20 +<script src="/node_modules/angular-i18n/angular-locale_YOUR-LOCALE.js"></script>
  21 +```
  22 +
  23 +Note that this package is not in CommonJS format, so doing `require('angular-i18n')` will
  24 +return `undefined`.
  25 +
  26 +### bower
  27 +
  28 +```shell
  29 +bower install angular-i18n
  30 +```
  31 +
  32 +Add a `<script>` to your `index.html`:
  33 +
  34 +```html
  35 +<script src="/bower_components/angular-i18n/angular-locale_YOUR-LOCALE.js"></script>
  36 +```
  37 +
  38 +## Documentation
  39 +
  40 +Documentation is available on the
  41 +[AngularJS docs site](http://docs.angularjs.org/guide/i18n).
  42 +
  43 +## License
  44 +
  45 +The MIT License
  46 +
  47 +Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
  48 +
  49 +Permission is hereby granted, free of charge, to any person obtaining a copy
  50 +of this software and associated documentation files (the "Software"), to deal
  51 +in the Software without restriction, including without limitation the rights
  52 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  53 +copies of the Software, and to permit persons to whom the Software is
  54 +furnished to do so, subject to the following conditions:
  55 +
  56 +The above copyright notice and this permission notice shall be included in
  57 +all copies or substantial portions of the Software.
  58 +
  59 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  60 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  61 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  62 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  63 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  64 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  65 +THE SOFTWARE.
src/main/resources/static/assets/bower_components/angular-i18n/aa-dj.js 0 → 100644
  1 +require('./angular-locale_aa-dj');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/aa-er.js 0 → 100644
  1 +require('./angular-locale_aa-er');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/aa-et.js 0 → 100644
  1 +require('./angular-locale_aa-et');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/aa.js 0 → 100644
  1 +require('./angular-locale_aa');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/af-na.js 0 → 100644
  1 +require('./angular-locale_af-na');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/af-za.js 0 → 100644
  1 +require('./angular-locale_af-za');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/af.js 0 → 100644
  1 +require('./angular-locale_af');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/agq-cm.js 0 → 100644
  1 +require('./angular-locale_agq-cm');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/agq.js 0 → 100644
  1 +require('./angular-locale_agq');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/ak-gh.js 0 → 100644
  1 +require('./angular-locale_ak-gh');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/ak.js 0 → 100644
  1 +require('./angular-locale_ak');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/am-et.js 0 → 100644
  1 +require('./angular-locale_am-et');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/am.js 0 → 100644
  1 +require('./angular-locale_am');
  2 +module.exports = 'ngLocale';
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_aa-dj.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "saaku",
  26 + "carra"
  27 + ],
  28 + "DAY": [
  29 + "Acaada",
  30 + "Etleeni",
  31 + "Talaata",
  32 + "Arbaqa",
  33 + "Kamiisi",
  34 + "Gumqata",
  35 + "Sabti"
  36 + ],
  37 + "ERANAMES": [
  38 + "Yaasuusuk Duma",
  39 + "Yaasuusuk Wadir"
  40 + ],
  41 + "ERAS": [
  42 + "Yaasuusuk Duma",
  43 + "Yaasuusuk Wadir"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 5,
  46 + "MONTH": [
  47 + "Qunxa Garablu",
  48 + "Kudo",
  49 + "Ciggilta Kudo",
  50 + "Agda Baxis",
  51 + "Caxah Alsa",
  52 + "Qasa Dirri",
  53 + "Qado Dirri",
  54 + "Leqeeni",
  55 + "Waysu",
  56 + "Diteli",
  57 + "Ximoli",
  58 + "Kaxxa Garablu"
  59 + ],
  60 + "SHORTDAY": [
  61 + "Aca",
  62 + "Etl",
  63 + "Tal",
  64 + "Arb",
  65 + "Kam",
  66 + "Gum",
  67 + "Sab"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "Qun",
  71 + "Nah",
  72 + "Cig",
  73 + "Agd",
  74 + "Cax",
  75 + "Qas",
  76 + "Qad",
  77 + "Leq",
  78 + "Way",
  79 + "Dit",
  80 + "Xim",
  81 + "Kax"
  82 + ],
  83 + "WEEKENDRANGE": [
  84 + 5,
  85 + 6
  86 + ],
  87 + "fullDate": "EEEE, MMMM dd, y",
  88 + "longDate": "dd MMMM y",
  89 + "medium": "dd-MMM-y h:mm:ss a",
  90 + "mediumDate": "dd-MMM-y",
  91 + "mediumTime": "h:mm:ss a",
  92 + "short": "dd/MM/yy h:mm a",
  93 + "shortDate": "dd/MM/yy",
  94 + "shortTime": "h:mm a"
  95 + },
  96 + "NUMBER_FORMATS": {
  97 + "CURRENCY_SYM": "Fdj",
  98 + "DECIMAL_SEP": ".",
  99 + "GROUP_SEP": ",",
  100 + "PATTERNS": [
  101 + {
  102 + "gSize": 3,
  103 + "lgSize": 3,
  104 + "maxFrac": 3,
  105 + "minFrac": 0,
  106 + "minInt": 1,
  107 + "negPre": "-",
  108 + "negSuf": "",
  109 + "posPre": "",
  110 + "posSuf": ""
  111 + },
  112 + {
  113 + "gSize": 3,
  114 + "lgSize": 3,
  115 + "maxFrac": 2,
  116 + "minFrac": 2,
  117 + "minInt": 1,
  118 + "negPre": "\u00a4-",
  119 + "negSuf": "",
  120 + "posPre": "\u00a4",
  121 + "posSuf": ""
  122 + }
  123 + ]
  124 + },
  125 + "id": "aa-dj",
  126 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  127 +});
  128 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_aa-er.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "saaku",
  26 + "carra"
  27 + ],
  28 + "DAY": [
  29 + "Acaada",
  30 + "Etleeni",
  31 + "Talaata",
  32 + "Arbaqa",
  33 + "Kamiisi",
  34 + "Gumqata",
  35 + "Sabti"
  36 + ],
  37 + "ERANAMES": [
  38 + "Yaasuusuk Duma",
  39 + "Yaasuusuk Wadir"
  40 + ],
  41 + "ERAS": [
  42 + "Yaasuusuk Duma",
  43 + "Yaasuusuk Wadir"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 0,
  46 + "MONTH": [
  47 + "Qunxa Garablu",
  48 + "Kudo",
  49 + "Ciggilta Kudo",
  50 + "Agda Baxis",
  51 + "Caxah Alsa",
  52 + "Qasa Dirri",
  53 + "Qado Dirri",
  54 + "Liiqen",
  55 + "Waysu",
  56 + "Diteli",
  57 + "Ximoli",
  58 + "Kaxxa Garablu"
  59 + ],
  60 + "SHORTDAY": [
  61 + "Aca",
  62 + "Etl",
  63 + "Tal",
  64 + "Arb",
  65 + "Kam",
  66 + "Gum",
  67 + "Sab"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "Qun",
  71 + "Nah",
  72 + "Cig",
  73 + "Agd",
  74 + "Cax",
  75 + "Qas",
  76 + "Qad",
  77 + "Leq",
  78 + "Way",
  79 + "Dit",
  80 + "Xim",
  81 + "Kax"
  82 + ],
  83 + "WEEKENDRANGE": [
  84 + 5,
  85 + 6
  86 + ],
  87 + "fullDate": "EEEE, MMMM dd, y",
  88 + "longDate": "dd MMMM y",
  89 + "medium": "dd-MMM-y h:mm:ss a",
  90 + "mediumDate": "dd-MMM-y",
  91 + "mediumTime": "h:mm:ss a",
  92 + "short": "dd/MM/yy h:mm a",
  93 + "shortDate": "dd/MM/yy",
  94 + "shortTime": "h:mm a"
  95 + },
  96 + "NUMBER_FORMATS": {
  97 + "CURRENCY_SYM": "Nfk",
  98 + "DECIMAL_SEP": ".",
  99 + "GROUP_SEP": ",",
  100 + "PATTERNS": [
  101 + {
  102 + "gSize": 3,
  103 + "lgSize": 3,
  104 + "maxFrac": 3,
  105 + "minFrac": 0,
  106 + "minInt": 1,
  107 + "negPre": "-",
  108 + "negSuf": "",
  109 + "posPre": "",
  110 + "posSuf": ""
  111 + },
  112 + {
  113 + "gSize": 3,
  114 + "lgSize": 3,
  115 + "maxFrac": 2,
  116 + "minFrac": 2,
  117 + "minInt": 1,
  118 + "negPre": "\u00a4-",
  119 + "negSuf": "",
  120 + "posPre": "\u00a4",
  121 + "posSuf": ""
  122 + }
  123 + ]
  124 + },
  125 + "id": "aa-er",
  126 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  127 +});
  128 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_aa-et.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "saaku",
  26 + "carra"
  27 + ],
  28 + "DAY": [
  29 + "Acaada",
  30 + "Etleeni",
  31 + "Talaata",
  32 + "Arbaqa",
  33 + "Kamiisi",
  34 + "Gumqata",
  35 + "Sabti"
  36 + ],
  37 + "ERANAMES": [
  38 + "Yaasuusuk Duma",
  39 + "Yaasuusuk Wadir"
  40 + ],
  41 + "ERAS": [
  42 + "Yaasuusuk Duma",
  43 + "Yaasuusuk Wadir"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 0,
  46 + "MONTH": [
  47 + "Qunxa Garablu",
  48 + "Kudo",
  49 + "Ciggilta Kudo",
  50 + "Agda Baxis",
  51 + "Caxah Alsa",
  52 + "Qasa Dirri",
  53 + "Qado Dirri",
  54 + "Liiqen",
  55 + "Waysu",
  56 + "Diteli",
  57 + "Ximoli",
  58 + "Kaxxa Garablu"
  59 + ],
  60 + "SHORTDAY": [
  61 + "Aca",
  62 + "Etl",
  63 + "Tal",
  64 + "Arb",
  65 + "Kam",
  66 + "Gum",
  67 + "Sab"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "Qun",
  71 + "Nah",
  72 + "Cig",
  73 + "Agd",
  74 + "Cax",
  75 + "Qas",
  76 + "Qad",
  77 + "Leq",
  78 + "Way",
  79 + "Dit",
  80 + "Xim",
  81 + "Kax"
  82 + ],
  83 + "WEEKENDRANGE": [
  84 + 5,
  85 + 6
  86 + ],
  87 + "fullDate": "EEEE, MMMM dd, y",
  88 + "longDate": "dd MMMM y",
  89 + "medium": "dd-MMM-y h:mm:ss a",
  90 + "mediumDate": "dd-MMM-y",
  91 + "mediumTime": "h:mm:ss a",
  92 + "short": "dd/MM/yy h:mm a",
  93 + "shortDate": "dd/MM/yy",
  94 + "shortTime": "h:mm a"
  95 + },
  96 + "NUMBER_FORMATS": {
  97 + "CURRENCY_SYM": "Birr",
  98 + "DECIMAL_SEP": ".",
  99 + "GROUP_SEP": ",",
  100 + "PATTERNS": [
  101 + {
  102 + "gSize": 3,
  103 + "lgSize": 3,
  104 + "maxFrac": 3,
  105 + "minFrac": 0,
  106 + "minInt": 1,
  107 + "negPre": "-",
  108 + "negSuf": "",
  109 + "posPre": "",
  110 + "posSuf": ""
  111 + },
  112 + {
  113 + "gSize": 3,
  114 + "lgSize": 3,
  115 + "maxFrac": 2,
  116 + "minFrac": 2,
  117 + "minInt": 1,
  118 + "negPre": "\u00a4-",
  119 + "negSuf": "",
  120 + "posPre": "\u00a4",
  121 + "posSuf": ""
  122 + }
  123 + ]
  124 + },
  125 + "id": "aa-et",
  126 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  127 +});
  128 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_aa.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "saaku",
  26 + "carra"
  27 + ],
  28 + "DAY": [
  29 + "Acaada",
  30 + "Etleeni",
  31 + "Talaata",
  32 + "Arbaqa",
  33 + "Kamiisi",
  34 + "Gumqata",
  35 + "Sabti"
  36 + ],
  37 + "ERANAMES": [
  38 + "Yaasuusuk Duma",
  39 + "Yaasuusuk Wadir"
  40 + ],
  41 + "ERAS": [
  42 + "Yaasuusuk Duma",
  43 + "Yaasuusuk Wadir"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 0,
  46 + "MONTH": [
  47 + "Qunxa Garablu",
  48 + "Kudo",
  49 + "Ciggilta Kudo",
  50 + "Agda Baxis",
  51 + "Caxah Alsa",
  52 + "Qasa Dirri",
  53 + "Qado Dirri",
  54 + "Liiqen",
  55 + "Waysu",
  56 + "Diteli",
  57 + "Ximoli",
  58 + "Kaxxa Garablu"
  59 + ],
  60 + "SHORTDAY": [
  61 + "Aca",
  62 + "Etl",
  63 + "Tal",
  64 + "Arb",
  65 + "Kam",
  66 + "Gum",
  67 + "Sab"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "Qun",
  71 + "Nah",
  72 + "Cig",
  73 + "Agd",
  74 + "Cax",
  75 + "Qas",
  76 + "Qad",
  77 + "Leq",
  78 + "Way",
  79 + "Dit",
  80 + "Xim",
  81 + "Kax"
  82 + ],
  83 + "WEEKENDRANGE": [
  84 + 5,
  85 + 6
  86 + ],
  87 + "fullDate": "EEEE, MMMM dd, y",
  88 + "longDate": "dd MMMM y",
  89 + "medium": "dd-MMM-y h:mm:ss a",
  90 + "mediumDate": "dd-MMM-y",
  91 + "mediumTime": "h:mm:ss a",
  92 + "short": "dd/MM/yy h:mm a",
  93 + "shortDate": "dd/MM/yy",
  94 + "shortTime": "h:mm a"
  95 + },
  96 + "NUMBER_FORMATS": {
  97 + "CURRENCY_SYM": "Birr",
  98 + "DECIMAL_SEP": ".",
  99 + "GROUP_SEP": ",",
  100 + "PATTERNS": [
  101 + {
  102 + "gSize": 3,
  103 + "lgSize": 3,
  104 + "maxFrac": 3,
  105 + "minFrac": 0,
  106 + "minInt": 1,
  107 + "negPre": "-",
  108 + "negSuf": "",
  109 + "posPre": "",
  110 + "posSuf": ""
  111 + },
  112 + {
  113 + "gSize": 3,
  114 + "lgSize": 3,
  115 + "maxFrac": 2,
  116 + "minFrac": 2,
  117 + "minInt": 1,
  118 + "negPre": "\u00a4-",
  119 + "negSuf": "",
  120 + "posPre": "\u00a4",
  121 + "posSuf": ""
  122 + }
  123 + ]
  124 + },
  125 + "id": "aa",
  126 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  127 +});
  128 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_af-na.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "vm.",
  8 + "nm."
  9 + ],
  10 + "DAY": [
  11 + "Sondag",
  12 + "Maandag",
  13 + "Dinsdag",
  14 + "Woensdag",
  15 + "Donderdag",
  16 + "Vrydag",
  17 + "Saterdag"
  18 + ],
  19 + "ERANAMES": [
  20 + "voor Christus",
  21 + "na Christus"
  22 + ],
  23 + "ERAS": [
  24 + "v.C.",
  25 + "n.C."
  26 + ],
  27 + "FIRSTDAYOFWEEK": 0,
  28 + "MONTH": [
  29 + "Januarie",
  30 + "Februarie",
  31 + "Maart",
  32 + "April",
  33 + "Mei",
  34 + "Junie",
  35 + "Julie",
  36 + "Augustus",
  37 + "September",
  38 + "Oktober",
  39 + "November",
  40 + "Desember"
  41 + ],
  42 + "SHORTDAY": [
  43 + "So.",
  44 + "Ma.",
  45 + "Di.",
  46 + "Wo.",
  47 + "Do.",
  48 + "Vr.",
  49 + "Sa."
  50 + ],
  51 + "SHORTMONTH": [
  52 + "Jan.",
  53 + "Feb.",
  54 + "Mrt.",
  55 + "Apr.",
  56 + "Mei",
  57 + "Jun.",
  58 + "Jul.",
  59 + "Aug.",
  60 + "Sep.",
  61 + "Okt.",
  62 + "Nov.",
  63 + "Des."
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "Januarie",
  67 + "Februarie",
  68 + "Maart",
  69 + "April",
  70 + "Mei",
  71 + "Junie",
  72 + "Julie",
  73 + "Augustus",
  74 + "September",
  75 + "Oktober",
  76 + "November",
  77 + "Desember"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE d MMMM y",
  84 + "longDate": "d MMMM y",
  85 + "medium": "d MMM y h:mm:ss a",
  86 + "mediumDate": "d MMM y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "y-MM-dd h:mm a",
  89 + "shortDate": "y-MM-dd",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "$",
  94 + "DECIMAL_SEP": ",",
  95 + "GROUP_SEP": "\u00a0",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "af-na",
  122 + "localeID": "af_NA",
  123 + "pluralCat": function(n, opt_precision) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_af-za.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "vm.",
  8 + "nm."
  9 + ],
  10 + "DAY": [
  11 + "Sondag",
  12 + "Maandag",
  13 + "Dinsdag",
  14 + "Woensdag",
  15 + "Donderdag",
  16 + "Vrydag",
  17 + "Saterdag"
  18 + ],
  19 + "ERANAMES": [
  20 + "voor Christus",
  21 + "na Christus"
  22 + ],
  23 + "ERAS": [
  24 + "v.C.",
  25 + "n.C."
  26 + ],
  27 + "FIRSTDAYOFWEEK": 6,
  28 + "MONTH": [
  29 + "Januarie",
  30 + "Februarie",
  31 + "Maart",
  32 + "April",
  33 + "Mei",
  34 + "Junie",
  35 + "Julie",
  36 + "Augustus",
  37 + "September",
  38 + "Oktober",
  39 + "November",
  40 + "Desember"
  41 + ],
  42 + "SHORTDAY": [
  43 + "So.",
  44 + "Ma.",
  45 + "Di.",
  46 + "Wo.",
  47 + "Do.",
  48 + "Vr.",
  49 + "Sa."
  50 + ],
  51 + "SHORTMONTH": [
  52 + "Jan.",
  53 + "Feb.",
  54 + "Mrt.",
  55 + "Apr.",
  56 + "Mei",
  57 + "Jun.",
  58 + "Jul.",
  59 + "Aug.",
  60 + "Sep.",
  61 + "Okt.",
  62 + "Nov.",
  63 + "Des."
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "Januarie",
  67 + "Februarie",
  68 + "Maart",
  69 + "April",
  70 + "Mei",
  71 + "Junie",
  72 + "Julie",
  73 + "Augustus",
  74 + "September",
  75 + "Oktober",
  76 + "November",
  77 + "Desember"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE, dd MMMM y",
  84 + "longDate": "dd MMMM y",
  85 + "medium": "dd MMM y h:mm:ss a",
  86 + "mediumDate": "dd MMM y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "y-MM-dd h:mm a",
  89 + "shortDate": "y-MM-dd",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "R",
  94 + "DECIMAL_SEP": ",",
  95 + "GROUP_SEP": "\u00a0",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "af-za",
  122 + "localeID": "af_ZA",
  123 + "pluralCat": function(n, opt_precision) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_af.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "vm.",
  8 + "nm."
  9 + ],
  10 + "DAY": [
  11 + "Sondag",
  12 + "Maandag",
  13 + "Dinsdag",
  14 + "Woensdag",
  15 + "Donderdag",
  16 + "Vrydag",
  17 + "Saterdag"
  18 + ],
  19 + "ERANAMES": [
  20 + "voor Christus",
  21 + "na Christus"
  22 + ],
  23 + "ERAS": [
  24 + "v.C.",
  25 + "n.C."
  26 + ],
  27 + "FIRSTDAYOFWEEK": 6,
  28 + "MONTH": [
  29 + "Januarie",
  30 + "Februarie",
  31 + "Maart",
  32 + "April",
  33 + "Mei",
  34 + "Junie",
  35 + "Julie",
  36 + "Augustus",
  37 + "September",
  38 + "Oktober",
  39 + "November",
  40 + "Desember"
  41 + ],
  42 + "SHORTDAY": [
  43 + "So.",
  44 + "Ma.",
  45 + "Di.",
  46 + "Wo.",
  47 + "Do.",
  48 + "Vr.",
  49 + "Sa."
  50 + ],
  51 + "SHORTMONTH": [
  52 + "Jan.",
  53 + "Feb.",
  54 + "Mrt.",
  55 + "Apr.",
  56 + "Mei",
  57 + "Jun.",
  58 + "Jul.",
  59 + "Aug.",
  60 + "Sep.",
  61 + "Okt.",
  62 + "Nov.",
  63 + "Des."
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "Januarie",
  67 + "Februarie",
  68 + "Maart",
  69 + "April",
  70 + "Mei",
  71 + "Junie",
  72 + "Julie",
  73 + "Augustus",
  74 + "September",
  75 + "Oktober",
  76 + "November",
  77 + "Desember"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE, dd MMMM y",
  84 + "longDate": "dd MMMM y",
  85 + "medium": "dd MMM y h:mm:ss a",
  86 + "mediumDate": "dd MMM y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "y-MM-dd h:mm a",
  89 + "shortDate": "y-MM-dd",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "R",
  94 + "DECIMAL_SEP": ",",
  95 + "GROUP_SEP": "\u00a0",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "af",
  122 + "localeID": "af",
  123 + "pluralCat": function(n, opt_precision) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_agq-cm.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "a.g",
  26 + "a.k"
  27 + ],
  28 + "DAY": [
  29 + "tsu\u0294nts\u0268",
  30 + "tsu\u0294ukp\u00e0",
  31 + "tsu\u0294ugh\u0254e",
  32 + "tsu\u0294ut\u0254\u0300ml\u00f2",
  33 + "tsu\u0294um\u00e8",
  34 + "tsu\u0294ugh\u0268\u0302m",
  35 + "tsu\u0294ndz\u0268k\u0254\u0294\u0254"
  36 + ],
  37 + "ERANAMES": [
  38 + "S\u011be K\u0268\u0300lesto",
  39 + "B\u01cea K\u0268\u0300lesto"
  40 + ],
  41 + "ERAS": [
  42 + "SK",
  43 + "BK"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 0,
  46 + "MONTH": [
  47 + "ndz\u0254\u0300\u014b\u0254\u0300n\u00f9m",
  48 + "ndz\u0254\u0300\u014b\u0254\u0300k\u0197\u0300z\u00f9\u0294",
  49 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300d\u0289\u0300gh\u00e0",
  50 + "ndz\u0254\u0300\u014b\u0254\u0300t\u01ceaf\u0289\u0304gh\u0101",
  51 + "ndz\u0254\u0300\u014b\u00e8s\u00e8e",
  52 + "ndz\u0254\u0300\u014b\u0254\u0300nz\u00f9gh\u00f2",
  53 + "ndz\u0254\u0300\u014b\u0254\u0300d\u00f9mlo",
  54 + "ndz\u0254\u0300\u014b\u0254\u0300kw\u00eef\u0254\u0300e",
  55 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300f\u0289\u0300gh\u00e0dzugh\u00f9",
  56 + "ndz\u0254\u0300\u014b\u0254\u0300gh\u01d4uwel\u0254\u0300m",
  57 + "ndz\u0254\u0300\u014b\u0254\u0300chwa\u0294\u00e0kaa wo",
  58 + "ndz\u0254\u0300\u014b\u00e8fw\u00f2o"
  59 + ],
  60 + "SHORTDAY": [
  61 + "nts",
  62 + "kpa",
  63 + "gh\u0254",
  64 + "t\u0254m",
  65 + "ume",
  66 + "gh\u0268",
  67 + "dzk"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "n\u00f9m",
  71 + "k\u0268z",
  72 + "t\u0268d",
  73 + "taa",
  74 + "see",
  75 + "nzu",
  76 + "dum",
  77 + "f\u0254e",
  78 + "dzu",
  79 + "l\u0254m",
  80 + "kaa",
  81 + "fwo"
  82 + ],
  83 + "STANDALONEMONTH": [
  84 + "ndz\u0254\u0300\u014b\u0254\u0300n\u00f9m",
  85 + "ndz\u0254\u0300\u014b\u0254\u0300k\u0197\u0300z\u00f9\u0294",
  86 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300d\u0289\u0300gh\u00e0",
  87 + "ndz\u0254\u0300\u014b\u0254\u0300t\u01ceaf\u0289\u0304gh\u0101",
  88 + "ndz\u0254\u0300\u014b\u00e8s\u00e8e",
  89 + "ndz\u0254\u0300\u014b\u0254\u0300nz\u00f9gh\u00f2",
  90 + "ndz\u0254\u0300\u014b\u0254\u0300d\u00f9mlo",
  91 + "ndz\u0254\u0300\u014b\u0254\u0300kw\u00eef\u0254\u0300e",
  92 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300f\u0289\u0300gh\u00e0dzugh\u00f9",
  93 + "ndz\u0254\u0300\u014b\u0254\u0300gh\u01d4uwel\u0254\u0300m",
  94 + "ndz\u0254\u0300\u014b\u0254\u0300chwa\u0294\u00e0kaa wo",
  95 + "ndz\u0254\u0300\u014b\u00e8fw\u00f2o"
  96 + ],
  97 + "WEEKENDRANGE": [
  98 + 5,
  99 + 6
  100 + ],
  101 + "fullDate": "EEEE d MMMM y",
  102 + "longDate": "d MMMM y",
  103 + "medium": "d MMM, y HH:mm:ss",
  104 + "mediumDate": "d MMM, y",
  105 + "mediumTime": "HH:mm:ss",
  106 + "short": "d/M/y HH:mm",
  107 + "shortDate": "d/M/y",
  108 + "shortTime": "HH:mm"
  109 + },
  110 + "NUMBER_FORMATS": {
  111 + "CURRENCY_SYM": "FCFA",
  112 + "DECIMAL_SEP": ",",
  113 + "GROUP_SEP": "\u00a0",
  114 + "PATTERNS": [
  115 + {
  116 + "gSize": 3,
  117 + "lgSize": 3,
  118 + "maxFrac": 3,
  119 + "minFrac": 0,
  120 + "minInt": 1,
  121 + "negPre": "-",
  122 + "negSuf": "",
  123 + "posPre": "",
  124 + "posSuf": ""
  125 + },
  126 + {
  127 + "gSize": 3,
  128 + "lgSize": 3,
  129 + "maxFrac": 2,
  130 + "minFrac": 2,
  131 + "minInt": 1,
  132 + "negPre": "-",
  133 + "negSuf": "\u00a4",
  134 + "posPre": "",
  135 + "posSuf": "\u00a4"
  136 + }
  137 + ]
  138 + },
  139 + "id": "agq-cm",
  140 + "localeID": "agq_CM",
  141 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  142 +});
  143 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_agq.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "a.g",
  26 + "a.k"
  27 + ],
  28 + "DAY": [
  29 + "tsu\u0294nts\u0268",
  30 + "tsu\u0294ukp\u00e0",
  31 + "tsu\u0294ugh\u0254e",
  32 + "tsu\u0294ut\u0254\u0300ml\u00f2",
  33 + "tsu\u0294um\u00e8",
  34 + "tsu\u0294ugh\u0268\u0302m",
  35 + "tsu\u0294ndz\u0268k\u0254\u0294\u0254"
  36 + ],
  37 + "ERANAMES": [
  38 + "S\u011be K\u0268\u0300lesto",
  39 + "B\u01cea K\u0268\u0300lesto"
  40 + ],
  41 + "ERAS": [
  42 + "SK",
  43 + "BK"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 0,
  46 + "MONTH": [
  47 + "ndz\u0254\u0300\u014b\u0254\u0300n\u00f9m",
  48 + "ndz\u0254\u0300\u014b\u0254\u0300k\u0197\u0300z\u00f9\u0294",
  49 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300d\u0289\u0300gh\u00e0",
  50 + "ndz\u0254\u0300\u014b\u0254\u0300t\u01ceaf\u0289\u0304gh\u0101",
  51 + "ndz\u0254\u0300\u014b\u00e8s\u00e8e",
  52 + "ndz\u0254\u0300\u014b\u0254\u0300nz\u00f9gh\u00f2",
  53 + "ndz\u0254\u0300\u014b\u0254\u0300d\u00f9mlo",
  54 + "ndz\u0254\u0300\u014b\u0254\u0300kw\u00eef\u0254\u0300e",
  55 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300f\u0289\u0300gh\u00e0dzugh\u00f9",
  56 + "ndz\u0254\u0300\u014b\u0254\u0300gh\u01d4uwel\u0254\u0300m",
  57 + "ndz\u0254\u0300\u014b\u0254\u0300chwa\u0294\u00e0kaa wo",
  58 + "ndz\u0254\u0300\u014b\u00e8fw\u00f2o"
  59 + ],
  60 + "SHORTDAY": [
  61 + "nts",
  62 + "kpa",
  63 + "gh\u0254",
  64 + "t\u0254m",
  65 + "ume",
  66 + "gh\u0268",
  67 + "dzk"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "n\u00f9m",
  71 + "k\u0268z",
  72 + "t\u0268d",
  73 + "taa",
  74 + "see",
  75 + "nzu",
  76 + "dum",
  77 + "f\u0254e",
  78 + "dzu",
  79 + "l\u0254m",
  80 + "kaa",
  81 + "fwo"
  82 + ],
  83 + "STANDALONEMONTH": [
  84 + "ndz\u0254\u0300\u014b\u0254\u0300n\u00f9m",
  85 + "ndz\u0254\u0300\u014b\u0254\u0300k\u0197\u0300z\u00f9\u0294",
  86 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300d\u0289\u0300gh\u00e0",
  87 + "ndz\u0254\u0300\u014b\u0254\u0300t\u01ceaf\u0289\u0304gh\u0101",
  88 + "ndz\u0254\u0300\u014b\u00e8s\u00e8e",
  89 + "ndz\u0254\u0300\u014b\u0254\u0300nz\u00f9gh\u00f2",
  90 + "ndz\u0254\u0300\u014b\u0254\u0300d\u00f9mlo",
  91 + "ndz\u0254\u0300\u014b\u0254\u0300kw\u00eef\u0254\u0300e",
  92 + "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300f\u0289\u0300gh\u00e0dzugh\u00f9",
  93 + "ndz\u0254\u0300\u014b\u0254\u0300gh\u01d4uwel\u0254\u0300m",
  94 + "ndz\u0254\u0300\u014b\u0254\u0300chwa\u0294\u00e0kaa wo",
  95 + "ndz\u0254\u0300\u014b\u00e8fw\u00f2o"
  96 + ],
  97 + "WEEKENDRANGE": [
  98 + 5,
  99 + 6
  100 + ],
  101 + "fullDate": "EEEE d MMMM y",
  102 + "longDate": "d MMMM y",
  103 + "medium": "d MMM, y HH:mm:ss",
  104 + "mediumDate": "d MMM, y",
  105 + "mediumTime": "HH:mm:ss",
  106 + "short": "d/M/y HH:mm",
  107 + "shortDate": "d/M/y",
  108 + "shortTime": "HH:mm"
  109 + },
  110 + "NUMBER_FORMATS": {
  111 + "CURRENCY_SYM": "FCFA",
  112 + "DECIMAL_SEP": ",",
  113 + "GROUP_SEP": "\u00a0",
  114 + "PATTERNS": [
  115 + {
  116 + "gSize": 3,
  117 + "lgSize": 3,
  118 + "maxFrac": 3,
  119 + "minFrac": 0,
  120 + "minInt": 1,
  121 + "negPre": "-",
  122 + "negSuf": "",
  123 + "posPre": "",
  124 + "posSuf": ""
  125 + },
  126 + {
  127 + "gSize": 3,
  128 + "lgSize": 3,
  129 + "maxFrac": 2,
  130 + "minFrac": 2,
  131 + "minInt": 1,
  132 + "negPre": "-",
  133 + "negSuf": "\u00a4",
  134 + "posPre": "",
  135 + "posSuf": "\u00a4"
  136 + }
  137 + ]
  138 + },
  139 + "id": "agq",
  140 + "localeID": "agq",
  141 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  142 +});
  143 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ak-gh.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "AN",
  26 + "EW"
  27 + ],
  28 + "DAY": [
  29 + "Kwesida",
  30 + "Dwowda",
  31 + "Benada",
  32 + "Wukuda",
  33 + "Yawda",
  34 + "Fida",
  35 + "Memeneda"
  36 + ],
  37 + "ERANAMES": [
  38 + "Ansa Kristo",
  39 + "Kristo Ekyiri"
  40 + ],
  41 + "ERAS": [
  42 + "AK",
  43 + "KE"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 0,
  46 + "MONTH": [
  47 + "Sanda-\u0186p\u025bp\u0254n",
  48 + "Kwakwar-\u0186gyefuo",
  49 + "Eb\u0254w-\u0186benem",
  50 + "Eb\u0254bira-Oforisuo",
  51 + "Esusow Aketseaba-K\u0254t\u0254nimba",
  52 + "Obirade-Ay\u025bwohomumu",
  53 + "Ay\u025bwoho-Kitawonsa",
  54 + "Difuu-\u0186sandaa",
  55 + "Fankwa-\u0190b\u0254",
  56 + "\u0186b\u025bs\u025b-Ahinime",
  57 + "\u0186ber\u025bf\u025bw-Obubuo",
  58 + "Mumu-\u0186p\u025bnimba"
  59 + ],
  60 + "SHORTDAY": [
  61 + "Kwe",
  62 + "Dwo",
  63 + "Ben",
  64 + "Wuk",
  65 + "Yaw",
  66 + "Fia",
  67 + "Mem"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "S-\u0186",
  71 + "K-\u0186",
  72 + "E-\u0186",
  73 + "E-O",
  74 + "E-K",
  75 + "O-A",
  76 + "A-K",
  77 + "D-\u0186",
  78 + "F-\u0190",
  79 + "\u0186-A",
  80 + "\u0186-O",
  81 + "M-\u0186"
  82 + ],
  83 + "STANDALONEMONTH": [
  84 + "Sanda-\u0186p\u025bp\u0254n",
  85 + "Kwakwar-\u0186gyefuo",
  86 + "Eb\u0254w-\u0186benem",
  87 + "Eb\u0254bira-Oforisuo",
  88 + "Esusow Aketseaba-K\u0254t\u0254nimba",
  89 + "Obirade-Ay\u025bwohomumu",
  90 + "Ay\u025bwoho-Kitawonsa",
  91 + "Difuu-\u0186sandaa",
  92 + "Fankwa-\u0190b\u0254",
  93 + "\u0186b\u025bs\u025b-Ahinime",
  94 + "\u0186ber\u025bf\u025bw-Obubuo",
  95 + "Mumu-\u0186p\u025bnimba"
  96 + ],
  97 + "WEEKENDRANGE": [
  98 + 5,
  99 + 6
  100 + ],
  101 + "fullDate": "EEEE, y MMMM dd",
  102 + "longDate": "y MMMM d",
  103 + "medium": "y MMM d h:mm:ss a",
  104 + "mediumDate": "y MMM d",
  105 + "mediumTime": "h:mm:ss a",
  106 + "short": "yy/MM/dd h:mm a",
  107 + "shortDate": "yy/MM/dd",
  108 + "shortTime": "h:mm a"
  109 + },
  110 + "NUMBER_FORMATS": {
  111 + "CURRENCY_SYM": "GHS",
  112 + "DECIMAL_SEP": ".",
  113 + "GROUP_SEP": ",",
  114 + "PATTERNS": [
  115 + {
  116 + "gSize": 3,
  117 + "lgSize": 3,
  118 + "maxFrac": 3,
  119 + "minFrac": 0,
  120 + "minInt": 1,
  121 + "negPre": "-",
  122 + "negSuf": "",
  123 + "posPre": "",
  124 + "posSuf": ""
  125 + },
  126 + {
  127 + "gSize": 3,
  128 + "lgSize": 3,
  129 + "maxFrac": 2,
  130 + "minFrac": 2,
  131 + "minInt": 1,
  132 + "negPre": "-\u00a4",
  133 + "negSuf": "",
  134 + "posPre": "\u00a4",
  135 + "posSuf": ""
  136 + }
  137 + ]
  138 + },
  139 + "id": "ak-gh",
  140 + "localeID": "ak_GH",
  141 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  142 +});
  143 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ak.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +function getDecimals(n) {
  5 + n = n + '';
  6 + var i = n.indexOf('.');
  7 + return (i == -1) ? 0 : n.length - i - 1;
  8 +}
  9 +
  10 +function getVF(n, opt_precision) {
  11 + var v = opt_precision;
  12 +
  13 + if (undefined === v) {
  14 + v = Math.min(getDecimals(n), 3);
  15 + }
  16 +
  17 + var base = Math.pow(10, v);
  18 + var f = ((n * base) | 0) % base;
  19 + return {v: v, f: f};
  20 +}
  21 +
  22 +$provide.value("$locale", {
  23 + "DATETIME_FORMATS": {
  24 + "AMPMS": [
  25 + "AN",
  26 + "EW"
  27 + ],
  28 + "DAY": [
  29 + "Kwesida",
  30 + "Dwowda",
  31 + "Benada",
  32 + "Wukuda",
  33 + "Yawda",
  34 + "Fida",
  35 + "Memeneda"
  36 + ],
  37 + "ERANAMES": [
  38 + "Ansa Kristo",
  39 + "Kristo Ekyiri"
  40 + ],
  41 + "ERAS": [
  42 + "AK",
  43 + "KE"
  44 + ],
  45 + "FIRSTDAYOFWEEK": 0,
  46 + "MONTH": [
  47 + "Sanda-\u0186p\u025bp\u0254n",
  48 + "Kwakwar-\u0186gyefuo",
  49 + "Eb\u0254w-\u0186benem",
  50 + "Eb\u0254bira-Oforisuo",
  51 + "Esusow Aketseaba-K\u0254t\u0254nimba",
  52 + "Obirade-Ay\u025bwohomumu",
  53 + "Ay\u025bwoho-Kitawonsa",
  54 + "Difuu-\u0186sandaa",
  55 + "Fankwa-\u0190b\u0254",
  56 + "\u0186b\u025bs\u025b-Ahinime",
  57 + "\u0186ber\u025bf\u025bw-Obubuo",
  58 + "Mumu-\u0186p\u025bnimba"
  59 + ],
  60 + "SHORTDAY": [
  61 + "Kwe",
  62 + "Dwo",
  63 + "Ben",
  64 + "Wuk",
  65 + "Yaw",
  66 + "Fia",
  67 + "Mem"
  68 + ],
  69 + "SHORTMONTH": [
  70 + "S-\u0186",
  71 + "K-\u0186",
  72 + "E-\u0186",
  73 + "E-O",
  74 + "E-K",
  75 + "O-A",
  76 + "A-K",
  77 + "D-\u0186",
  78 + "F-\u0190",
  79 + "\u0186-A",
  80 + "\u0186-O",
  81 + "M-\u0186"
  82 + ],
  83 + "STANDALONEMONTH": [
  84 + "Sanda-\u0186p\u025bp\u0254n",
  85 + "Kwakwar-\u0186gyefuo",
  86 + "Eb\u0254w-\u0186benem",
  87 + "Eb\u0254bira-Oforisuo",
  88 + "Esusow Aketseaba-K\u0254t\u0254nimba",
  89 + "Obirade-Ay\u025bwohomumu",
  90 + "Ay\u025bwoho-Kitawonsa",
  91 + "Difuu-\u0186sandaa",
  92 + "Fankwa-\u0190b\u0254",
  93 + "\u0186b\u025bs\u025b-Ahinime",
  94 + "\u0186ber\u025bf\u025bw-Obubuo",
  95 + "Mumu-\u0186p\u025bnimba"
  96 + ],
  97 + "WEEKENDRANGE": [
  98 + 5,
  99 + 6
  100 + ],
  101 + "fullDate": "EEEE, y MMMM dd",
  102 + "longDate": "y MMMM d",
  103 + "medium": "y MMM d h:mm:ss a",
  104 + "mediumDate": "y MMM d",
  105 + "mediumTime": "h:mm:ss a",
  106 + "short": "yy/MM/dd h:mm a",
  107 + "shortDate": "yy/MM/dd",
  108 + "shortTime": "h:mm a"
  109 + },
  110 + "NUMBER_FORMATS": {
  111 + "CURRENCY_SYM": "GHS",
  112 + "DECIMAL_SEP": ".",
  113 + "GROUP_SEP": ",",
  114 + "PATTERNS": [
  115 + {
  116 + "gSize": 3,
  117 + "lgSize": 3,
  118 + "maxFrac": 3,
  119 + "minFrac": 0,
  120 + "minInt": 1,
  121 + "negPre": "-",
  122 + "negSuf": "",
  123 + "posPre": "",
  124 + "posSuf": ""
  125 + },
  126 + {
  127 + "gSize": 3,
  128 + "lgSize": 3,
  129 + "maxFrac": 2,
  130 + "minFrac": 2,
  131 + "minInt": 1,
  132 + "negPre": "-\u00a4",
  133 + "negSuf": "",
  134 + "posPre": "\u00a4",
  135 + "posSuf": ""
  136 + }
  137 + ]
  138 + },
  139 + "id": "ak",
  140 + "localeID": "ak",
  141 + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  142 +});
  143 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_am-et.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u1325\u12cb\u1275",
  8 + "\u12a8\u1230\u12d3\u1275"
  9 + ],
  10 + "DAY": [
  11 + "\u12a5\u1211\u12f5",
  12 + "\u1230\u129e",
  13 + "\u121b\u12ad\u1230\u129e",
  14 + "\u1228\u1261\u12d5",
  15 + "\u1210\u1219\u1235",
  16 + "\u12d3\u122d\u1265",
  17 + "\u1245\u12f3\u121c"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u12d3\u1218\u1270 \u12d3\u1208\u121d",
  21 + "\u12d3\u1218\u1270 \u121d\u1215\u1228\u1275"
  22 + ],
  23 + "ERAS": [
  24 + "\u12d3/\u12d3",
  25 + "\u12d3/\u121d"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 6,
  28 + "MONTH": [
  29 + "\u1303\u1295\u12e9\u12c8\u122a",
  30 + "\u134c\u1265\u1229\u12c8\u122a",
  31 + "\u121b\u122d\u127d",
  32 + "\u12a4\u1355\u122a\u120d",
  33 + "\u121c\u12ed",
  34 + "\u1301\u1295",
  35 + "\u1301\u120b\u12ed",
  36 + "\u12a6\u1308\u1235\u1275",
  37 + "\u1234\u1355\u1274\u121d\u1260\u122d",
  38 + "\u12a6\u12ad\u1276\u1260\u122d",
  39 + "\u1296\u126c\u121d\u1260\u122d",
  40 + "\u12f2\u1234\u121d\u1260\u122d"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u12a5\u1211\u12f5",
  44 + "\u1230\u129e",
  45 + "\u121b\u12ad\u1230",
  46 + "\u1228\u1261\u12d5",
  47 + "\u1210\u1219\u1235",
  48 + "\u12d3\u122d\u1265",
  49 + "\u1245\u12f3\u121c"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u1303\u1295\u12e9",
  53 + "\u134c\u1265\u1229",
  54 + "\u121b\u122d\u127d",
  55 + "\u12a4\u1355\u122a",
  56 + "\u121c\u12ed",
  57 + "\u1301\u1295",
  58 + "\u1301\u120b\u12ed",
  59 + "\u12a6\u1308\u1235",
  60 + "\u1234\u1355\u1274",
  61 + "\u12a6\u12ad\u1276",
  62 + "\u1296\u126c\u121d",
  63 + "\u12f2\u1234\u121d"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u1303\u1295\u12e9\u12c8\u122a",
  67 + "\u134c\u1265\u1229\u12c8\u122a",
  68 + "\u121b\u122d\u127d",
  69 + "\u12a4\u1355\u122a\u120d",
  70 + "\u121c\u12ed",
  71 + "\u1301\u1295",
  72 + "\u1301\u120b\u12ed",
  73 + "\u12a6\u1308\u1235\u1275",
  74 + "\u1234\u1355\u1274\u121d\u1260\u122d",
  75 + "\u12a6\u12ad\u1276\u1260\u122d",
  76 + "\u1296\u126c\u121d\u1260\u122d",
  77 + "\u12f2\u1234\u121d\u1260\u122d"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE \u1363d MMMM y",
  84 + "longDate": "d MMMM y",
  85 + "medium": "d MMM y h:mm:ss a",
  86 + "mediumDate": "d MMM y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "dd/MM/y h:mm a",
  89 + "shortDate": "dd/MM/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "Birr",
  94 + "DECIMAL_SEP": ".",
  95 + "GROUP_SEP": ",",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "am-et",
  122 + "localeID": "am_ET",
  123 + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_am.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u1325\u12cb\u1275",
  8 + "\u12a8\u1230\u12d3\u1275"
  9 + ],
  10 + "DAY": [
  11 + "\u12a5\u1211\u12f5",
  12 + "\u1230\u129e",
  13 + "\u121b\u12ad\u1230\u129e",
  14 + "\u1228\u1261\u12d5",
  15 + "\u1210\u1219\u1235",
  16 + "\u12d3\u122d\u1265",
  17 + "\u1245\u12f3\u121c"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u12d3\u1218\u1270 \u12d3\u1208\u121d",
  21 + "\u12d3\u1218\u1270 \u121d\u1215\u1228\u1275"
  22 + ],
  23 + "ERAS": [
  24 + "\u12d3/\u12d3",
  25 + "\u12d3/\u121d"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 6,
  28 + "MONTH": [
  29 + "\u1303\u1295\u12e9\u12c8\u122a",
  30 + "\u134c\u1265\u1229\u12c8\u122a",
  31 + "\u121b\u122d\u127d",
  32 + "\u12a4\u1355\u122a\u120d",
  33 + "\u121c\u12ed",
  34 + "\u1301\u1295",
  35 + "\u1301\u120b\u12ed",
  36 + "\u12a6\u1308\u1235\u1275",
  37 + "\u1234\u1355\u1274\u121d\u1260\u122d",
  38 + "\u12a6\u12ad\u1276\u1260\u122d",
  39 + "\u1296\u126c\u121d\u1260\u122d",
  40 + "\u12f2\u1234\u121d\u1260\u122d"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u12a5\u1211\u12f5",
  44 + "\u1230\u129e",
  45 + "\u121b\u12ad\u1230",
  46 + "\u1228\u1261\u12d5",
  47 + "\u1210\u1219\u1235",
  48 + "\u12d3\u122d\u1265",
  49 + "\u1245\u12f3\u121c"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u1303\u1295\u12e9",
  53 + "\u134c\u1265\u1229",
  54 + "\u121b\u122d\u127d",
  55 + "\u12a4\u1355\u122a",
  56 + "\u121c\u12ed",
  57 + "\u1301\u1295",
  58 + "\u1301\u120b\u12ed",
  59 + "\u12a6\u1308\u1235",
  60 + "\u1234\u1355\u1274",
  61 + "\u12a6\u12ad\u1276",
  62 + "\u1296\u126c\u121d",
  63 + "\u12f2\u1234\u121d"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u1303\u1295\u12e9\u12c8\u122a",
  67 + "\u134c\u1265\u1229\u12c8\u122a",
  68 + "\u121b\u122d\u127d",
  69 + "\u12a4\u1355\u122a\u120d",
  70 + "\u121c\u12ed",
  71 + "\u1301\u1295",
  72 + "\u1301\u120b\u12ed",
  73 + "\u12a6\u1308\u1235\u1275",
  74 + "\u1234\u1355\u1274\u121d\u1260\u122d",
  75 + "\u12a6\u12ad\u1276\u1260\u122d",
  76 + "\u1296\u126c\u121d\u1260\u122d",
  77 + "\u12f2\u1234\u121d\u1260\u122d"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE \u1363d MMMM y",
  84 + "longDate": "d MMMM y",
  85 + "medium": "d MMM y h:mm:ss a",
  86 + "mediumDate": "d MMM y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "dd/MM/y h:mm a",
  89 + "shortDate": "dd/MM/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "Birr",
  94 + "DECIMAL_SEP": ".",
  95 + "GROUP_SEP": ",",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "am",
  122 + "localeID": "am",
  123 + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-001.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "\u00a3",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-001",
  122 + "localeID": "ar_001",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-ae.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "dh",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-ae",
  122 + "localeID": "ar_AE",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-bh.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "din",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-bh",
  122 + "localeID": "ar_BH",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-dj.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "Fdj",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-dj",
  122 + "localeID": "ar_DJ",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-dz.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u062c\u0627\u0646\u0641\u064a",
  30 + "\u0641\u064a\u0641\u0631\u064a",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0641\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a",
  34 + "\u062c\u0648\u0627\u0646",
  35 + "\u062c\u0648\u064a\u0644\u064a\u0629",
  36 + "\u0623\u0648\u062a",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u062c\u0627\u0646\u0641\u064a",
  53 + "\u0641\u064a\u0641\u0631\u064a",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0641\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a",
  57 + "\u062c\u0648\u0627\u0646",
  58 + "\u062c\u0648\u064a\u0644\u064a\u0629",
  59 + "\u0623\u0648\u062a",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u062c\u0627\u0646\u0641\u064a",
  67 + "\u0641\u064a\u0641\u0631\u064a",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0641\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a",
  71 + "\u062c\u0648\u0627\u0646",
  72 + "\u062c\u0648\u064a\u0644\u064a\u0629",
  73 + "\u0623\u0648\u062a",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "din",
  94 + "DECIMAL_SEP": ",",
  95 + "GROUP_SEP": ".",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-dz",
  122 + "localeID": "ar_DZ",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-eg.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "\u00a3",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-eg",
  122 + "localeID": "ar_EG",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-eh.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 0,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "dh",
  94 + "DECIMAL_SEP": ".",
  95 + "GROUP_SEP": ",",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-eh",
  122 + "localeID": "ar_EH",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-er.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 0,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "Nfk",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-er",
  122 + "localeID": "ar_ER",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-il.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 6,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y H:mm:ss",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "H:mm:ss",
  88 + "short": "d\u200f/M\u200f/y H:mm",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "H:mm"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "\u20aa",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-il",
  122 + "localeID": "ar_IL",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-iq.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  30 + "\u0634\u0628\u0627\u0637",
  31 + "\u0622\u0630\u0627\u0631",
  32 + "\u0646\u064a\u0633\u0627\u0646",
  33 + "\u0623\u064a\u0627\u0631",
  34 + "\u062d\u0632\u064a\u0631\u0627\u0646",
  35 + "\u062a\u0645\u0648\u0632",
  36 + "\u0622\u0628",
  37 + "\u0623\u064a\u0644\u0648\u0644",
  38 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
  39 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  40 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  53 + "\u0634\u0628\u0627\u0637",
  54 + "\u0622\u0630\u0627\u0631",
  55 + "\u0646\u064a\u0633\u0627\u0646",
  56 + "\u0623\u064a\u0627\u0631",
  57 + "\u062d\u0632\u064a\u0631\u0627\u0646",
  58 + "\u062a\u0645\u0648\u0632",
  59 + "\u0622\u0628",
  60 + "\u0623\u064a\u0644\u0648\u0644",
  61 + "\u062a\u0634\u0631\u06cc\u0646 \u0627\u0644\u0623\u0648\u0644",
  62 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  63 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  67 + "\u0634\u0628\u0627\u0637",
  68 + "\u0622\u0630\u0627\u0631",
  69 + "\u0646\u064a\u0633\u0627\u0646",
  70 + "\u0623\u064a\u0627\u0631",
  71 + "\u062d\u0632\u064a\u0631\u0627\u0646",
  72 + "\u062a\u0645\u0648\u0632",
  73 + "\u0622\u0628",
  74 + "\u0623\u064a\u0644\u0648\u0644",
  75 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
  76 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  77 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "din",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-iq",
  122 + "localeID": "ar_IQ",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-jo.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 5,
  28 + "MONTH": [
  29 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  30 + "\u0634\u0628\u0627\u0637",
  31 + "\u0622\u0630\u0627\u0631",
  32 + "\u0646\u064a\u0633\u0627\u0646",
  33 + "\u0623\u064a\u0627\u0631",
  34 + "\u062d\u0632\u064a\u0631\u0627\u0646",
  35 + "\u062a\u0645\u0648\u0632",
  36 + "\u0622\u0628",
  37 + "\u0623\u064a\u0644\u0648\u0644",
  38 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
  39 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  40 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  53 + "\u0634\u0628\u0627\u0637",
  54 + "\u0622\u0630\u0627\u0631",
  55 + "\u0646\u064a\u0633\u0627\u0646",
  56 + "\u0623\u064a\u0627\u0631",
  57 + "\u062d\u0632\u064a\u0631\u0627\u0646",
  58 + "\u062a\u0645\u0648\u0632",
  59 + "\u0622\u0628",
  60 + "\u0623\u064a\u0644\u0648\u0644",
  61 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
  62 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  63 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  67 + "\u0634\u0628\u0627\u0637",
  68 + "\u0622\u0630\u0627\u0631",
  69 + "\u0646\u064a\u0633\u0627\u0646",
  70 + "\u0623\u064a\u0627\u0631",
  71 + "\u062d\u0632\u064a\u0631\u0627\u0646",
  72 + "\u062a\u0645\u0648\u0632",
  73 + "\u0622\u0628",
  74 + "\u0623\u064a\u0644\u0648\u0644",
  75 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
  76 + "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
  77 + "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 4,
  81 + 5
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "h:mm:ss a",
  88 + "short": "d\u200f/M\u200f/y h:mm a",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "h:mm a"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "din",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-jo",
  122 + "localeID": "ar_JO",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);
src/main/resources/static/assets/bower_components/angular-i18n/angular-locale_ar-km.js 0 → 100644
  1 +'use strict';
  2 +angular.module("ngLocale", [], ["$provide", function($provide) {
  3 +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
  4 +$provide.value("$locale", {
  5 + "DATETIME_FORMATS": {
  6 + "AMPMS": [
  7 + "\u0635",
  8 + "\u0645"
  9 + ],
  10 + "DAY": [
  11 + "\u0627\u0644\u0623\u062d\u062f",
  12 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  13 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  14 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  15 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  16 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  17 + "\u0627\u0644\u0633\u0628\u062a"
  18 + ],
  19 + "ERANAMES": [
  20 + "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
  21 + "\u0645\u064a\u0644\u0627\u062f\u064a"
  22 + ],
  23 + "ERAS": [
  24 + "\u0642.\u0645",
  25 + "\u0645"
  26 + ],
  27 + "FIRSTDAYOFWEEK": 0,
  28 + "MONTH": [
  29 + "\u064a\u0646\u0627\u064a\u0631",
  30 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  31 + "\u0645\u0627\u0631\u0633",
  32 + "\u0623\u0628\u0631\u064a\u0644",
  33 + "\u0645\u0627\u064a\u0648",
  34 + "\u064a\u0648\u0646\u064a\u0648",
  35 + "\u064a\u0648\u0644\u064a\u0648",
  36 + "\u0623\u063a\u0633\u0637\u0633",
  37 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  38 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  39 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  40 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  41 + ],
  42 + "SHORTDAY": [
  43 + "\u0627\u0644\u0623\u062d\u062f",
  44 + "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
  45 + "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
  46 + "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
  47 + "\u0627\u0644\u062e\u0645\u064a\u0633",
  48 + "\u0627\u0644\u062c\u0645\u0639\u0629",
  49 + "\u0627\u0644\u0633\u0628\u062a"
  50 + ],
  51 + "SHORTMONTH": [
  52 + "\u064a\u0646\u0627\u064a\u0631",
  53 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  54 + "\u0645\u0627\u0631\u0633",
  55 + "\u0623\u0628\u0631\u064a\u0644",
  56 + "\u0645\u0627\u064a\u0648",
  57 + "\u064a\u0648\u0646\u064a\u0648",
  58 + "\u064a\u0648\u0644\u064a\u0648",
  59 + "\u0623\u063a\u0633\u0637\u0633",
  60 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  61 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  62 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  63 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  64 + ],
  65 + "STANDALONEMONTH": [
  66 + "\u064a\u0646\u0627\u064a\u0631",
  67 + "\u0641\u0628\u0631\u0627\u064a\u0631",
  68 + "\u0645\u0627\u0631\u0633",
  69 + "\u0623\u0628\u0631\u064a\u0644",
  70 + "\u0645\u0627\u064a\u0648",
  71 + "\u064a\u0648\u0646\u064a\u0648",
  72 + "\u064a\u0648\u0644\u064a\u0648",
  73 + "\u0623\u063a\u0633\u0637\u0633",
  74 + "\u0633\u0628\u062a\u0645\u0628\u0631",
  75 + "\u0623\u0643\u062a\u0648\u0628\u0631",
  76 + "\u0646\u0648\u0641\u0645\u0628\u0631",
  77 + "\u062f\u064a\u0633\u0645\u0628\u0631"
  78 + ],
  79 + "WEEKENDRANGE": [
  80 + 5,
  81 + 6
  82 + ],
  83 + "fullDate": "EEEE\u060c d MMMM\u060c y",
  84 + "longDate": "d MMMM\u060c y",
  85 + "medium": "dd\u200f/MM\u200f/y HH:mm:ss",
  86 + "mediumDate": "dd\u200f/MM\u200f/y",
  87 + "mediumTime": "HH:mm:ss",
  88 + "short": "d\u200f/M\u200f/y HH:mm",
  89 + "shortDate": "d\u200f/M\u200f/y",
  90 + "shortTime": "HH:mm"
  91 + },
  92 + "NUMBER_FORMATS": {
  93 + "CURRENCY_SYM": "CF",
  94 + "DECIMAL_SEP": "\u066b",
  95 + "GROUP_SEP": "\u066c",
  96 + "PATTERNS": [
  97 + {
  98 + "gSize": 3,
  99 + "lgSize": 3,
  100 + "maxFrac": 3,
  101 + "minFrac": 0,
  102 + "minInt": 1,
  103 + "negPre": "-",
  104 + "negSuf": "",
  105 + "posPre": "",
  106 + "posSuf": ""
  107 + },
  108 + {
  109 + "gSize": 3,
  110 + "lgSize": 3,
  111 + "maxFrac": 2,
  112 + "minFrac": 2,
  113 + "minInt": 1,
  114 + "negPre": "-\u00a4\u00a0",
  115 + "negSuf": "",
  116 + "posPre": "\u00a4\u00a0",
  117 + "posSuf": ""
  118 + }
  119 + ]
  120 + },
  121 + "id": "ar-km",
  122 + "localeID": "ar_KM",
  123 + "pluralCat": function(n, opt_precision) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2) { return PLURAL_CATEGORY.TWO; } if (n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
  124 +});
  125 +}]);