Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

hujing 6 gadi atpakaļ
vecāks
revīzija
c0cd1a89bc

+ 19 - 9
bigdata-web/src/main/java/org/diagbot/bigdata/work/ParamsDataProxy.java

@@ -66,8 +66,8 @@ public class ParamsDataProxy {
             }
         }
         //所有信息参与推送
-        searchData.setSymptom(searchData.getSymptom() + searchData.getVital()
-                + searchData.getLis() + searchData.getPacs() + searchData.getPast() + searchData.getOther() + searchData.getIndications());
+//        searchData.setSymptom(searchData.getSymptom() + searchData.getVital()
+//                + searchData.getLis() + searchData.getPacs() + searchData.getPast() + searchData.getOther() + searchData.getIndications());
         searchData.setSymptom(searchData.getSymptom().trim());
         //一次推送多个类别信息
         String[] featureTypes = searchData.getFeatureType().split(",");
@@ -83,14 +83,23 @@ public class ParamsDataProxy {
         FeatureAnalyze fa = new FeatureAnalyze();
 
         if (!StringUtils.isEmpty(searchData.getSymptom())) {
-            //特征(不含化验 辅检)
+            //提取现病史
             List<Map<String, Object>> featuresList = fa.start(searchData.getSymptom(), FeatureType.FEATURE);
             paramFeatureInit(searchData, featuresList);
+            //提取体征
+            featuresList = fa.start(searchData.getVital(), FeatureType.FEATURE);
+            paramFeatureInit(searchData, featuresList);
+            //提取既往史
+            featuresList = fa.start(searchData.getPast(), FeatureType.FEATURE);
+            paramFeatureInit(searchData, featuresList);
+            //提取其他史等
+            featuresList = fa.start(searchData.getOther() + searchData.getIndications(), FeatureType.FEATURE);
+            paramFeatureInit(searchData, featuresList);
 
-            featuresList = fa.start(searchData.getSymptom(), FeatureType.PACS);
+            featuresList = fa.start(searchData.getPacs(), FeatureType.PACS);
             paramFeatureInit(searchData, featuresList);
 
-            featuresList = fa.start(searchData.getSymptom(), FeatureType.LIS);
+            featuresList = fa.start(searchData.getLis(), FeatureType.LIS);
             paramFeatureInit(searchData, featuresList);
 
             // 清洗特征词,去除词性不匹配的词
@@ -227,7 +236,6 @@ public class ParamsDataProxy {
      */
     private void paramFeatureInit(SearchData searchData, List<Map<String, Object>> featuresList) throws Exception {
         if (featuresList != null && featuresList.size() > 0) {
-            //            BeanUtils.setProperty(searchData, property_list, featuresList);
             Map<String, Object> featureMap = null;
             for (int i = 0; i < featuresList.size(); i++) {
                 featureMap = featuresList.get(i);
@@ -237,13 +245,15 @@ public class ParamsDataProxy {
                 }
                 map.put("featureType", String.valueOf(featureMap.get("feature_type")));
                 map.put("featureName", String.valueOf(featureMap.get("feature_name")));
+                map.put("property", String.valueOf(featureMap.get("property")));
+                map.put("concept", String.valueOf(featureMap.get("concept")));
                 if (Constants.default_negative.equals(featureMap.get("negative"))) {
-                    searchData.getInputs().put(map.get("feature_name"), map);
+                    if (searchData.getInputs().get(map.get("feature_name")) == null) {
+                        searchData.getInputs().put(map.get("feature_name"), map);
+                    }
                 } else {
                     searchData.getFilters().put(map.get("feature_name"), map);
                 }
-                map.put("property", String.valueOf(featureMap.get("property")));
-                map.put("concept", String.valueOf(featureMap.get("concept")));
             }
         }
     }

+ 13 - 4
bigdata-web/src/main/java/org/diagbot/bigdata/work/ResultDataProxy.java

@@ -6,6 +6,7 @@ import org.diagbot.bigdata.dao.model.ResultMappingFilter;
 import org.diagbot.bigdata.util.BigDataConstants;
 import org.diagbot.common.work.FeatureRate;
 import org.diagbot.nlp.feature.FeatureType;
+import org.diagbot.nlp.util.Constants;
 import org.diagbot.nlp.util.NegativeEnum;
 import org.diagbot.nlp.util.NlpCache;
 
@@ -74,10 +75,18 @@ public class ResultDataProxy {
                 }
             }
             featureList.add(featureRate);
-            if (cursor < searchData.getLength()) {
-                cursor++;
-            } else {
-                break;
+            if (!featureType.equals(Constants.feature_type_diag)) {
+                if (cursor < searchData.getLength()) {
+                    cursor++;
+                } else {
+                    break;
+                }
+            } else {            //诊断最多返回5个
+                if (cursor < 5) {
+                    cursor++;
+                } else {
+                    break;
+                }
             }
         }
 

+ 10 - 4
bigdata-web/src/main/resources/doc_result_mapping_filter.dict

@@ -258,7 +258,7 @@ TRi1oeyNUdOyMfjkGshymkCbw8kxCNmGLKs3fnGbwV4=
 W0u07doTgmmAgbdnywkvhECbw8kxCNmGLKs3fnGbwV4=
 +yp7LhPh6/o2wwd3InzQFy4v4ck8itaxbwUVqDMIL3+ar/KlvxFeSkpgEZ36UZf7
 0FmNHjoeZ7b0ACy8m26s1/GBY5WQh50G
-oVJkClU0Bvh5NR6CtIcYXyJQS0qubhjOOKlkYg16NpxBrHThoI/x5Q==
+oVJkClU0Bvh5NR6CtIcYXyJQS0qubhjO/EdXT+1ai7FBrHThoI/x5Q==
 rbyHO9LUfKKar/KlvxFeSkpgEZ36UZf7
 bnK+R2xE2Bqar/KlvxFeSkpgEZ36UZf7
 l0FzfX6DT5m2V8PO73MIZcW9GueaBowJ
@@ -582,7 +582,7 @@ WEck0+cxgSLoVuOByRCjSMW9GueaBowJ
 lk8o5519Kxjg6njkDcx/a1gEkaL90vkepA8RkamQclo=
 sPbuqnenXG9VSWDLbldzl0Cbw8kxCNmGLKs3fnGbwV4=
 NrnMuz/8DnOar/KlvxFeSkpgEZ36UZf7
-pd1F9WAw6p6GsXOp2DRhH0Cbw8kxCNmGLKs3fnGbwV4=
+pd1F9WAw6p6GsXOp2DRhH2NDMRCe5nvULKs3fnGbwV4=
 b8ErQvNUZgdfVjmT72+IU0Cbw8kxCNmGLKs3fnGbwV4=
 kigrNEhv/Mvs4b5Jwjzq68W9GueaBowJ
 6CdJfik1TY6iDrxDJwAO4U4eis8kMKHS
@@ -793,7 +793,7 @@ hT2R6oNQDGhRBNE+ZdJR0cW9GueaBowJ
 7ttNQ1aOZmErxH/5ZZarV5Tqoit2xRDBLfj2n/p3fLw=
 xGjxEbbo/twhJLbnEbgPLECbw8kxCNmGLKs3fnGbwV4=
 xGjxEbbo/txre6ZjJY/aDNSX1ILygfSsdTD26Z5KQnpal+TXCztiQ+e2Zk7LSj+OLfj2n/p3fLw=
-EpkhMubA/KU2uRhwSJ6d+Y6XI0/uKdr2yvopAZKk4ZV4qi09YuwSoA==
+EpkhMubA/KU2uRhwSJ6d+Y6XI0/uKdr2iUu4/07l4vh4qi09YuwSoA==
 YmFbY+KQ4Y4bHBvW0gRQF2NDMRCe5nvULKs3fnGbwV4=
 6gWj62/jMx6BVqSDS7cXB8W9GueaBowJ
 YmFbY+KQ4Y5QHYDAU4bOhVy9Puu0olvcAjZ+p2EoD0o=
@@ -16331,7 +16331,7 @@ pd1F9WAw6p6pcRWLwYs8yTB9O/ni5MZzbLPy9ddsuOt4qi09YuwSoA==
 sPozkzJeO5R5NR6CtIcYXyOOcMACMjx3OKlkYg16NpxBrHThoI/x5Q==
 68nOuLOJ0ueWiw/3IcAB28W9GueaBowJ
 68nOuLOJ0uc6EZ2JskysitYmrjpZPWg4Lfj2n/p3fLw=
-v+3SexNaEEBe4wcScCxWcUJwHHv3YjrXLfj2n/p3fLw=
+v+3SexNaEEBe4wcScCxWcVrt2Oo6jJTYLfj2n/p3fLw=
 rNCcTfYGCqNT1lulmuG0GkJwHHv3YjrXLfj2n/p3fLw=
 rNCcTfYGCqNT1lulmuG0Gl7h2cPeA4xcOKlkYg16NpxBrHThoI/x5Q==
 lgNSX+Vw4JSWiw/3IcAB28W9GueaBowJ
@@ -24217,3 +24217,9 @@ sT2SVNRtEycpW8J3eG8fGSibZTYEHi63Lfj2n/p3fLw=
 unXa+WSPJaTIfX1pI6HJ2cW9GueaBowJ
 zPjk3w+bgDMZd1BiYTH+McW9GueaBowJ
 93ZjDiJwkDENcja9xav1jrCgYcRiJKDmttoP512dY39BrHThoI/x5Q==
+B9uuO07HaYDjr++hjQ0DMcW9GueaBowJ
+9K+PZ38Hd/2nO+BpfJRAq8W9GueaBowJ
+3nu5sG93VQNYm2pzcr/F6ECbw8kxCNmGLKs3fnGbwV4=
+Xv8hrfKhk1YgOjZ9PXjYncW9GueaBowJ
+Fmv5ghP5sRuar/KlvxFeSkpgEZ36UZf7
+mAvmI45vfiWFsFQKjAAlO6HRPdEYM1XALfj2n/p3fLw=

+ 1 - 1
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -849,7 +849,7 @@ public class Neo4jAPI {
             }
             for (String qu : quezhen) {
                 Map<String, String> dis_res = new HashMap<>();
-                dis_res.put("确诊", "");
+                dis_res.put("初步诊断", "");
                 diseaseCondition.put(qu, dis_res);
                 logger.info("图谱推出的诊断为: " + qu);
             }

+ 8 - 4
graph/src/main/resources/sexAge.dict

@@ -258,7 +258,7 @@ TRi1oeyNUdOyMfjkGshymqQPEZGpkHJa
 W0u07doTgmmAgbdnywkvhKQPEZGpkHJa
 +yp7LhPh6/o2wwd3InzQFy4v4ck8itaxij0B/LKz90nFvRrnmgaMCQ==
 0FmNHjoeZ7YJTev4Jc/DwCyrN35xm8Fe
-oVJkClU0Bvh5NR6CtIcYXyJQS0qubhjOmq/ypb8RXkpKYBGd+lGX+w==
+oVJkClU0Bvh5NR6CtIcYXyJQS0qubhjOZKzWgpQ+dw1KYBGd+lGX+w==
 F4EJKrgmie7FvRrnmgaMCQ==
 1/jMwZDJlq/FvRrnmgaMCQ==
 l0FzfX6DT5k3jqKJ5VgzJS349p/6d3y8
@@ -582,7 +582,7 @@ WEck0+cxgSJpWY9hCjiYxy349p/6d3y8
 lk8o5519Kxjg6njkDcx/a16uuUSwnd0ReKotPWLsEqA=
 sPbuqnenXG9VSWDLbldzl6QPEZGpkHJa
 6PDDFdIwyUzFvRrnmgaMCQ==
-pd1F9WAw6p6GsXOp2DRhH6QPEZGpkHJa
+pd1F9WAw6p6GsXOp2DRhHwI2fqdhKA9K
 b8ErQvNUZgdfVjmT72+IU6QPEZGpkHJa
 kigrNEhv/Mvp5ZxWLLR5AS349p/6d3y8
 6CdJfik1TY6CpzT5/W6pizGNMMvXHJmC
@@ -793,7 +793,7 @@ hT2R6oNQDGiEeGdTFMj0Wy349p/6d3y8
 7ttNQ1aOZmErxH/5ZZarV/y1REpZOpahQax04aCP8eU=
 xGjxEbbo/twhJLbnEbgPLKQPEZGpkHJa
 xGjxEbbo/txre6ZjJY/aDNSX1ILygfSsdTD26Z5KQnpal+TXCztiQ6MArI3a+YzFQax04aCP8eU=
-EpkhMubA/KU2uRhwSJ6d+Y6XI0/uKdr2y5aeS7qP75zxgWOVkIedBg==
+EpkhMubA/KU2uRhwSJ6d+Y6XI0/uKdr2kaQwjEJA/i7xgWOVkIedBg==
 YmFbY+KQ4Y4bHBvW0gRQFwI2fqdhKA9K
 6gWj62/jMx4T2Qc3f0YWeS349p/6d3y8
 YmFbY+KQ4Y5QHYDAU4bOhVy9Puu0olvceKotPWLsEqA=
@@ -13460,7 +13460,7 @@ pd1F9WAw6p6pcRWLwYs8yTB9O/ni5MZzLqUIg9w/3U3xgWOVkIedBg==
 sPozkzJeO5R5NR6CtIcYXyOOcMACMjx3mq/ypb8RXkpKYBGd+lGX+w==
 68nOuLOJ0udjDiAQfyCokC349p/6d3y8
 68nOuLOJ0uc6EZ2Jskysisp5eZQu3Z3KQax04aCP8eU=
-v+3SexNaEEBe4wcScCxWcUXrO2ghij+OQax04aCP8eU=
+v+3SexNaEEBe4wcScCxWcTuuQhpRfgKHQax04aCP8eU=
 rNCcTfYGCqNT1lulmuG0GkXrO2ghij+OQax04aCP8eU=
 rNCcTfYGCqNT1lulmuG0Gl7h2cPeA4xcmq/ypb8RXkpKYBGd+lGX+w==
 lgNSX+Vw4JRjDiAQfyCokC349p/6d3y8
@@ -21290,3 +21290,7 @@ rwSi9v0Y5/mC/eGsVWa2XqQPEZGpkHJa
 P2k5Ue4Lv8yDxbJC8dg0FaQPEZGpkHJa
 uQzgoFGJdFgmIEIaKQx0IqQPEZGpkHJa
 unXa+WSPJaSAWcUpkBlxJS349p/6d3y8
+B9uuO07HaYBMioh1JbKliC349p/6d3y8
+9K+PZ38Hd/3UPb4Fqr8bey349p/6d3y8
+3nu5sG93VQNYm2pzcr/F6KQPEZGpkHJa
+ir2/T0dWYN/FvRrnmgaMCQ==

+ 39 - 41
graphdb/src/main/java/org/diagbot/service/impl/KnowledgeServiceImpl.java

@@ -390,15 +390,15 @@ public class KnowledgeServiceImpl implements KnowledgeService {
         List<String> bigdataDiagList = new LinkedList<>();//大数据诊断
         if (bigdataDiagFeature.size() > 0) {
             for (FeatureRate fe : bigdataDiagFeature) {
-                if ("neo4j".equals(fe.getRate()) && fe.getDesc().contains("确诊")) {
+                if ("neo4j".equals(fe.getRate()) && fe.getDesc().contains("初步诊断")) {
                     neo4jDiagList.add(fe.getFeatureName());
-                    logger.info("图谱推出的诊断为: " + fe.getFeatureName());
                 } else if (fe.getDesc() == null) {
                     bigdataDiagList.add(fe.getFeatureName());
-                    logger.info("大数据推出的诊断为: " + fe.getFeatureName());
                 }
             }
         }
+        logger.info("图谱推出的诊断为: " + neo4jDiagList);
+        logger.info("大数据推出的诊断为: " + bigdataDiagList);
         if (webDiagList != null) {
             for (String web : webDiagList) {
                 for (int i = 0; i < bigdataDiagList.size(); i++) {
@@ -408,7 +408,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
                 }
                 for (int i = 0; i < neo4jDiagList.size(); i++) {
                     if (neo4jDiagList.get(i).equals(web)) {
-                        neo4jDiagList.remove(bigdataDiagList.get(i));
+                        neo4jDiagList.remove(neo4jDiagList.get(i));
                     }
                 }
             }
@@ -426,49 +426,47 @@ public class KnowledgeServiceImpl implements KnowledgeService {
         if (bigdataDiagList != null && bigdataDiagList.size() > 0) {
             biglisPacs = processLisPacs(bigdataDiagList);
         }
-        Set<String> lis = null;
-        Set<String> pacs = null;
+        Set<String> lis = new LinkedHashSet<>();
+        Set<String> pacs = new LinkedHashSet<>();
+        Set<String> webLis = null;
+        Set<String> webPacs = null;
+        Set<String> neoLis = null;
+        Set<String> neoPacs = null;
+        Set<String> bigLis = null;
+        Set<String> bigPacs = null;
         //如果界面有诊断
         if (weblisPacs != null && weblisPacs.values().size() > 0) {
-            lis = weblisPacs.get("LIS");
-            pacs = weblisPacs.get("PACS");
-            logger.info("界面有诊断的情况下,界面诊断推出的lis为: " + lis);
-            logger.info("界面有诊断的情况下,界面诊断推出的pacs为: " + pacs);
-            if (neo4jlisPacs != null && neo4jlisPacs.values().size() > 0) {
-                Set<String> bl = neo4jlisPacs.get("LIS");
-                Set<String> bp = neo4jlisPacs.get("PACS");
-                logger.info("疑诊推出的lis为: " + bl);
-                logger.info("疑诊推出的pacs为: " + bp);
-                lis.addAll(bl);
-                pacs.addAll(bp);
+            webLis = weblisPacs.get("LIS");
+            webPacs = weblisPacs.get("PACS");
+            logger.info("界面有诊断的情况下,界面诊断推出的lis为: " + webLis);
+            logger.info("界面有诊断的情况下,界面诊断推出的pacs为: " + webPacs);
+            if(webLis != null){
+               lis.addAll(webLis);
             }
-            if (biglisPacs != null && biglisPacs.values().size() > 0) {
-                Set<String> bl = biglisPacs.get("LIS");
-                Set<String> bp = biglisPacs.get("PACS");
-                logger.info("可能诊断推出的lis为: " + bl);
-                logger.info("可能诊断推出的pacs为: " + bp);
-                lis.addAll(bl);
-                pacs.addAll(bp);
+            if(webPacs != null){
+                pacs.addAll(webPacs);
             }
-        } else {
-            if (neo4jlisPacs != null || biglisPacs != null) {
-            lis = new HashSet<>();
-            pacs = new HashSet<>();
-            if (neo4jlisPacs != null) {
-                Set<String> neo4jLis = neo4jlisPacs.get("LIS");
-                Set<String> neo4jpacs = neo4jlisPacs.get("PACS");
-                lis.addAll(neo4jLis);
-                pacs.addAll(neo4jpacs);
-            } else if (biglisPacs != null) {
-                Set<String> biglis = biglisPacs.get("LIS");
-                Set<String> bigpacs = biglisPacs.get("PACS");
-                lis.addAll(biglis);
-                pacs.addAll(bigpacs);
+        }
+        if(neo4jlisPacs != null){
+            neoLis = neo4jlisPacs.get("LIS");
+            neoPacs =  neo4jlisPacs.get("PACS");
+            if(neoLis != null){
+                lis.addAll(neoLis);
+            }
+            if(neoPacs != null){
+                pacs.addAll(neoPacs);
+            }
+        }
+        if(biglisPacs != null){
+            bigLis = biglisPacs.get("LIS");
+            bigPacs = biglisPacs.get("PACS");
+            if(bigLis != null){
+                lis.addAll(bigLis);
+            }
+            if(bigPacs != null){
+                pacs.addAll(bigPacs);
             }
-            logger.info("界面无诊断的情况下,推出诊断的lis为: " + lis);
-            logger.info("界面无诊断的情况下,推出诊断的lis为: " + pacs);
         }
-    }
         logger.info("推出的合并lis为: " + lis);
         logger.info("推出的合并pacs为: " + pacs);
         ArrayList<FeatureRate> lisFeature = new ArrayList<>();

+ 1 - 4
nlp/src/main/java/org/diagbot/nlp/feature/extract/CaseToken.java

@@ -100,10 +100,7 @@ public abstract class CaseToken {
             }
         }
         if (!hasFeature) {
-            if (sn > 1000) {
-                System.out.println("111111..." + lexeme.getText());
-            }
-            if (sn <= 5) {
+            if (sn <= 6) {
                 Map<String, Object> fMap = new HashMap<>(10);
                 fMap.put("feature_name", lexeme.getText());
                 fMap.put("feature_type", featureType);

+ 22 - 11
nlp/src/main/resources/synonym.dict

@@ -579,7 +579,6 @@ K4qVgWcyZY3/Vo9H3q/EhrSiEmjX5agnsy6JywiaQkN5lweONwOnKDKHxFiv6LqoFglns5eyIrY=
 xNgkCiNYEzeUVZj69DZapUKN0JEnYhdqFphF6nA9k2E=
 S9eaZYaduG0ac8dEIHUPs8PoPkTcKmRfW9z4hHJmeFsUheD3VAI03w==
 S8lErC8rSYSKw9js2aJre7PeJxn0s2muVN3ZHh9hhF537GpgzaW9eQ==
-0pg4GyKb4/yasKbS+m6iOveWD1e51/Y/lA19TSzTrDo=
 pwmJtiBT19/FSw4euLyqsQrf27wX1XpAUZBILDH8Cjw=
 wk2N6xXgYU63qKDkIwl+2RHl9H/0RyUfdSB4emrR9JDewnnP2L7ONUpgEZ36UZf7
 0IZmYHFR3bA15a5/q/fP7Db/Hohdl5NWpGC68ahqKpw=
@@ -841,7 +840,6 @@ rmaVfJ+riZOasKbS+m6iOpnoD4GYGWrZlA19TSzTrDo=
 8GKilejDFOExKYihOJefxl6hTpC/Tuor+EIi64Sf7P0=
 xLaP4rdmDOhgC10AFKv5eoSnmfl+jwXr
 pF+/2e5PCdjojRe1ztisnWVdodx5aJfORdxSDI9KVqI2pJsJ5QNsGw==
-EpkhMubA/KU2uRhwSJ6d+dqvVpaA8iZGI35dkw7g5BSQymBIjG/M3CKLcXvvHl7zzfczJibOr+x8PnauKFTxd4Snmfl+jwXr
 xG5CG1VWnMcO8bxs5CVP6ZuT+NR3FJT6A8y2J8ek+cbujJzh57rCkUMv1RJfRsdiOIwdrl2t0CTJ1+a/2g7mr9zTiovlgSoP7oyc4ee6wpGuB5/s43Cp9A==
 B+SaKLkG7JkJmYNxfQbIZHwwsUmqqES4RQt9xrtk+XiNq79FBV9KYQwWPUCdAxJ3+EIi64Sf7P0=
 4uoNNX07dxXN2ye8m7ASWoM9qg1+lo7AI5IDW1qvxNA3grpbVtu7TfhCIuuEn+z9
@@ -9250,7 +9248,6 @@ oWpj0P6ah3fSxasgsAHRk/8x543XYTkw+EIi64Sf7P0=
 ZMr6bs8Pd9Z/79c8HSi9twTLDl3Sk9VTNaUpAglKSn6Yx0mfs88uhkpgEZ36UZf7
 XsRueZvhAyoSM4JWt9br8l7Ebnmb4QMqGNh60ZlPKZp3z8xuVJNda4Snmfl+jwXr
 xjBOWYwtJQLNj3osZXWK/8Q6uk/WHcyfHmDJTq43EEelUOmsAGym/ht/HLfJxCxsPHiDgGgVFGjReyPGb483eEpgEZ36UZf7
-9K+PZ38Hd/1bK60dslh9jD08xZT/RFfX3Xy+aWqbuA937GpgzaW9eQ==
 HMpgmZFP2a1+iQYCJ+Eb/404FmlIZbXl4io3yyjGmNM=
 9yBJjZaOaw/fEMKoqqshoJMI09NMWtzgvu349h6K1wEVmOGCUnDCxr64T06u3r+M
 wYNK0Hyz4EH7wD7jxLvdY3PxVAjhraSu/CpVdaYdGI137GpgzaW9eQ==
@@ -9262,7 +9259,6 @@ G4j5jFyDtCleJ21yxIT3bYirvQrCBfjNBHLcW35y5waR01IkjNAlvkpgEZ36UZf7
 ycU0RK38xbAus6y5YmnJ8cnFNESt/MWwzq17YE4+xLl37GpgzaW9eQ==
 NBBXNZCaNE99yZ92+zfrDQehUZ8S0w0KrP/0khwu1f8Zei93HtsZy2vuUmJt8+LzvnZVY/XHmBk=
 kfC/iWx/K4vjDJbXBE5d/YkTJ25lsDp1BZzeo3Nb3mc=
-axMzbpcdBzfcXy3GEWyP1bKs88IQ35Yo
 fG3H/eYATNiTe6VGxMIErrhYvi14dqfuiEjodg32FGC4CciY9cYNnUpgEZ36UZf7
 /zHDbkIHTTUW1b0/QaBs4/BkfirkT/yK2aWn5PK4ai537GpgzaW9eQ==
 el7aO7TjFOnXCWSu3pf8fpBZlm04UBTyUhgiZ/z6jmXSXg8hNsC8NXJiAgY5QLrrnzPjYzweMKw=
@@ -10011,7 +10007,6 @@ B+SaKLkG7Jmcd8RBapzazkQc7pCBU9QxfywvCjeRl/TFkpjrUfpeLHTqJEN9q92F
 G9493mmuOO8luM2Oe2mKmLIA5rShNu/t3rnIAt7JuEZEA+hzsIzeqTQ6vJb/4I91
 iY1DyZwoLEr53XaVuVrMZtopI+ozLTqMekcrt/ixk8iBH9/79GoVL0pgEZ36UZf7
 oBu5zVSHPPL1tYQyq62MWPyUxBQuRq25LeKfld8vM2+7Rx44aEPmt0pgEZ36UZf7
-rOJKFFtRNj8s5HlOp0v6ZGjTMhkZ2FPzwFnskF+xdgU=
 GW/jhbssxpEacFXwsSYzQmwKsNo4B6t5XBzGLHpTdEkYe/xfIZV0tQ==
 +Yd/SkrR5pm+1a2XxvflnROMWRxJGwqt2dKG6jsxse+inpf5YhOlVg==
 vryxtT6ncK/8wmSqbN3WssfiU6g4Tiu6/MJkqmzd1rLjniZpe/af7EpgEZ36UZf7
@@ -10174,7 +10169,6 @@ GRBjIgLYrdIsp8S1LEN0PZyqhZNhjlAZIi1vPcrlwk7MRBywog9RW9nT2doghrhlqubulrzPdcg=
 L9IhEb/cxy11U7fe1tcmGWIN6Fv7oTbBJgwGhPfTZyE=
 l77zDd5A0jCxZt4bwCHx1E1VCMvk30oE/7B84DCjERnb+Y5qjhUf2o6GezQCK2AG
 tWHS5KqtmJEQX7isLv5V2p8h6jP1YoARLnarzGwWA7o=
-A30+fw76qNmf97hVg+8qKepBNjpRks1RAFjMXAUKqmv54tfhBP/IqgiT5mmw4DF7ZW+rZkPOeRE=
 3NkxiJb2q0z/YbA+1Wv2Eboh22fMO6til8F3VsQbG8I=
 G4yTcoy75jNIECexcfGZ51mAmNM4nNqdBM1DBWM849DAsTk+sXwnFZ1zr5QZ1P4giLJo/2J0/bs=
 WhFqhJwqaF+puJ3an0tEWWeI1ur/E+lH+HQAhymyN3I=
@@ -10463,7 +10457,6 @@ af72wwHMMMYFkk42OXEzh6AeZo+Ab5hlHc0ATRmoVPs=
 VidQF5cGotZaXaRt8goMDDyTYKDBSaRoiLJo/2J0/bs=
 Pbp/1I7CYWndTnEmjYvmUGQP9C99a/oSthJIp44nUl2hAF8TDjFgLQ==
 uPFGag8cQh1BH/4IxCouqEpgEZ36UZf7
-rOJKFFtRNj9FMO+0jed+BWjTMhkZ2FPzwFnskF+xdgU=
 J2YanXXckjtHtGiSAgCMlIV48KJ7DccpriQ2w5FMY6ChAF8TDjFgLQ==
 DFebE891bC3OfVRt4q4WUEpgEZ36UZf7
 aEFLrAB9hgtIJ//7amiD2GhBS6wAfYYLdAPdm3dn0mxxC5vpkSPrzA==
@@ -10580,7 +10573,6 @@ hV16UBMsD0c0XKLw+5TFRTSwX2RDWdyIyhGGo7sac6E9c1vN/axqQkpgEZ36UZf7
 WVJ7+vV+e/CYKFSQNb+HVkbgym102ujY93C8qQPm46ZDT/kKFuXSQ0zyU+x2XYzgxlzZIEgdLJOZtcARh0xcgQ==
 3Nb85nN0Rj9XeWdHW1k+jmm7ybVSbhwWLnarzGwWA7o=
 dn2Qsy3GvOjUz6bAHRiH18LcNHoJsHl4E2KOYHK4ivg=
-A30+fw76qNkCe2+D/JlbPChngpsINtgr+DQrj/sARMdhq5nTEVfvHpKgi1SjbiLAQ43J4jybSX+hAF8TDjFgLQ==
 49beq1yUEaHR9e5wMZD/5mfcIvXD5hoqCe+zKDBqg20=
 dQG/PKJ7BEdHuJkyfee4+RWBTsI8sD8DjD6JP8ONYh+hAF8TDjFgLQ==
 c2D1nM8E5uwuYR3T/sMSWpIEoU9wlaQzezcX2dCj8yc=
@@ -11914,7 +11906,6 @@ Hs0NLY1uuN+QNHLe1roolg+JmD6fSSmx9Y0kzllTDxcFwKGmzazTAQ==
 XBz/0WesuX+W5RytCgvxs/4Y3ahJtgcfVxFb24LYjgGhAF8TDjFgLQ==
 L6t8YzJeESuTvWYOi9HGpPW1WeighzWHV0oW9dXI8uw=
 koyqxJA/NmrVUvUCcM9bTDXdZTJKOXR6Mmo1SylN5BU=
-xhWftWtq9ZtYXGQlXLsacMYVn7VravWbj68fDR0voAqhAF8TDjFgLQ==
 RnkjKy7bTubLRV9hY2z3FVtAE52dmE98q/oNmUrDBN8=
 huML/c8cqstc7YcDoqIb9fZbAaI5jCtsa9gPdPzwDr+hAF8TDjFgLQ==
 DYkPG+bCAJ8OHka04C7s9ZkmUx2ewZUNLnarzGwWA7o=
@@ -12170,7 +12161,6 @@ WVJ7+vV+e/CmJ4qA8D32NaJdXdD9xutKZAPYjlMExV2FSm6uNXMEsUpgEZ36UZf7
 zBa5wCCrXCjkNnFmI8J1NbZSQ5/ILtsgAkyAYNZH0j2pOjKkkkGk1aKel/liE6VW
 5sdT5AuQbV1JkiawJt92oQZG5wUgkEmloogndtWD2OIyajVLKU3kFQ==
 JyYfd02+S2YVOqMvN2bsUgSQDmVjB+dpMmo1SylN5BU=
-FEDxWLqYuyf+RhAOOznNWGjTMhkZ2FPzwFnskF+xdgU=
 msQg8I9ogke1iOK/qPX983xHfFBchf1V42NYA97cAsehAF8TDjFgLQ==
 joB4IcA83AUthjNH6AVcc/heyhRGtMDXaa8sff4N6Jo9c1vN/axqQkpgEZ36UZf7
 M/70Z5BBldb+EJxQ+6KpebjULd/fulknMmo1SylN5BU=
@@ -12353,7 +12343,6 @@ Ea1wKP55wIAdteH+VcE624eVxJme8yn284Npb4ioDYtsMQoUHPgmyunFIv8eHYyw
 C+fgDJs8hfRgLCtSaVLN0QpYz1l4Byeu
 /Qfkrtif2TfxUkTVPsyz6PJkHSU4jRCJWcndImiVVrehAF8TDjFgLQ==
 bNwSJISUNGDH7f3SZ8ovxgVVpttdAeXsDQUCTLlv4SG7SmWpC/n0FEpgEZ36UZf7
-xhWftWtq9ZvsvE6g9Yp2r8YVn7VravWbj68fDR0voAqhAF8TDjFgLQ==
 R+GJ6sY6pM/YTxC6VCe8qY2+4oA2lbORQACYBt04GMqhAF8TDjFgLQ==
 8TJDuGPJyFNkP49fRpzWSunFIv8eHYyw
 rxX2yYO+MOPd0GWSNrtIjH/9Wtvjpwx+eH7VTADZ+Oj+10iHlPmWfgUqAzsZXLbB6cUi/x4djLA=
@@ -16465,3 +16454,25 @@ nlPqMevI45dmKBDZ0lfZBl33vRI8bUxcK5lpEzXx+8ihAF8TDjFgLQ==
 o91tUHP+x1DeRRXxSuXMRpMHpYp/RvC2/GDAg4fbOMZbUrlcNmszAEpgEZ36UZf7
 o91tUHP+x1BMBvtbBPA/qCqzDrIXEdoH4Lzaxbg6wQgHk0OkM1abrw==
 o91tUHP+x1CHEfCoYgVsV6rWKUTI9fMl/GDAg4fbOMZbUrlcNmszAEpgEZ36UZf7
+A30+fw76qNmf97hVg+8qKepBNjpRks1RAFjMXAUKqmv54tfhBP/IqgiT5mmw4DF7ZW+rZkPOeRE=
+A30+fw76qNkCe2+D/JlbPChngpsINtgr+DQrj/sARMdhq5nTEVfvHpKgi1SjbiLAQ43J4jybSX+hAF8TDjFgLQ==
+A30+fw76qNnxL4bIBDddvxyj10JCmj6EWZ0RAqevl6nDAy8sqBsyYVE87PVijK86
+w8cfPSfmxGf1NJ3PhsrX5V1PixQEloNCZrc8YjVDVay03EVjzF6ChA==
+occfB2yZ92eeiuofBOKGeQ6N07xxDYtkuDA7qLPvjIihAF8TDjFgLQ==
+nAVyP766hSii1XI3Vo/CmpPkQ3IuAvOF5BSunWxqiR310Np5Y/a2NUW8lFWOp5BQ
+rnweHYZbqiLc97BEhzokHolmQ4WlIsCDfa4FhDSetGc9trUIHcWsZg==
+WVJ7+vV+e/D9VYj+E2pmwKIj+CHrAko+7JhbdOiIzKn/f0u67/VT20pgEZ36UZf7
+Be+JZVPiyMXc97BEhzokHolmQ4WlIsCDfa4FhDSetGc9trUIHcWsZg==
+UD4vqZ7TepGPMdPOvmp1uds+njgPnJgbbjk24zsBNTY=
+rOJKFFtRNj8s5HlOp0v6ZGjTMhkZ2FPzwFnskF+xdgU=
+rOJKFFtRNj9FMO+0jed+BWjTMhkZ2FPzwFnskF+xdgU=
+xhWftWtq9ZtYXGQlXLsacMYVn7VravWbj68fDR0voAqhAF8TDjFgLQ==
+FEDxWLqYuyf+RhAOOznNWGjTMhkZ2FPzwFnskF+xdgU=
+xhWftWtq9ZvsvE6g9Yp2r8YVn7VravWbj68fDR0voAqhAF8TDjFgLQ==
+4qgWEGO8fn0ZqEd8dmNglMYVn7VravWbj68fDR0voAqhAF8TDjFgLQ==
+AMhWRWr6hHIq+g4CxiGWK+MaGgkyOACgl8F3VsQbG8I=
+0TLzIWW9EWDkU/H4bASSs7IA5rShNu/tZi9+2f1y8VOe5/M0fvOjzEpgEZ36UZf7
+EpkhMubA/KU2uRhwSJ6d+dqvVpaA8iZGI35dkw7g5BSQymBIjG/M3CKLcXvvHl7zzfczJibOr+x8PnauKFTxd4Snmfl+jwXr
+0pg4GyKb4/yasKbS+m6iOveWD1e51/Y/lA19TSzTrDo=
+1aC9ft93PYoW0BUkTHOK/ISnmfl+jwXr
+b8H1n1EN3TNkZo93KN/oZczEwfOUX8Kx

+ 74 - 5
nlp/src/main/resources/tc.dict

@@ -244,6 +244,7 @@ fGN35eswRS3W7LfIODibjMwwwhnlXlIZ
 13BZUxQKtR+d/zrzimfa4XCSF2ZnHf6ws46sQHX7X7A=
 13BZUxQKtR+d/zrzimfa4U81vwfsCd9AoHQGDcahzzDytE7R3oJTDDiu/KQV9j3E
 13BZUxQKtR9x+KllafTRWXCSF2ZnHf6wbY2k8YYB6Gs=
+SZ1VckZNWlv6YxRRpZKkEj3wfcyXW26mNa2ztny3jsWmXkgO512nOg==
 QP/RhSaiWgBGc3eCPrKJgdKxu2dt+UDcEDNnZ6hZT6I=
 9Eb5xlsM4lLtKVhwCYG915jw5/JKHl+k3KAm/AOCgK0=
 oW7MppAsybfoknHNFEf1ELBRYyGAsf/OUinNT6WjJoGcLd/aqBOk4Jjw5/JKHl+kjNIoEBrDmsQ=
@@ -254,6 +255,7 @@ lzzfUr6VjR8IZASYOS8jB5n4g7WuGS3flpq18JNMGlpKYBGd+lGX+w==
 ocR8/ZJhvj7dK63YaBD35ZaatfCTTBpaSmARnfpRl/s=
 7aDNbFi3EjZfftR6crnMhGlv9z0IZz0e
 VbkKNNIWKi5A0BMYhbV5hKn5k6RAijZ7+ROx/KS1yaE=
+VbkKNNIWKi4uixMsB9J9JtbIl/HFr5hF8Kqo8ER/S1dKYBGd+lGX+w==
 08yOLZW0TEfzqTSQL62d8aVHVwpJGTVI
 s89gETST/GNlwBN5jdI6ZeVyPWjjL1gghra9M6fjY/PQ9iaHLM+MvqJrSaKfSSny
 wMp7WcoRIDANyhB/kS2Li9EA3+GTH3L64FbseogFk/9VFlM9aCb8YQ==
@@ -341,6 +343,7 @@ bO+1+6j4UHbj9fPT1a5Y4JwjemIpGW1Jo4WYMGPMMjiQQBJPDxKKpg==
 PJWZ72ZCcxTCalwj/VYT+dT+lt+X5HDRp2tZS9mWHsMJdzcrK7kAQg==
 UNY++uxNJbdsyIizqxU6PhAzZ2eoWU+i
 2z1f7e1ZqjpA0BMYhbV5hOa/XZznbl8QUpHdjSwEZHM=
+2z1f7e1ZqjouixMsB9J9JtbIl/HFr5hFWPMKbG+4JBVKYBGd+lGX+w==
 SF/OqLf6yY/zqTSQL62d8fcK50ZMo5Bh
 G/FfJ52uRIVlwBN5jdI6ZeVyPWjjL1gghra9M6fjY/NL873RWDvaJRAzZ2eoWU+i
 4KengZwp9OMNyhB/kS2Li9EA3+GTH3L6qN11Chk6gmsQM2dnqFlPog==
@@ -1088,6 +1091,7 @@ rGVy3w8ylzHOQkRyeVInaCGk5pCslV+WsSJ7EMLns2ZKYBGd+lGX+w==
 Qd4dps5bblk3US6C1hQtblUWUz1oJvxh
 icDsADhvyXaDbbUai2SwqOC3kP1v4max
 SZcsxik0I/X//RYK0TyOqgojM+y4Mq5GSmARnfpRl/s=
+SZcsxik0I/WG565v5uMTadLgJ0ZdVZPL77KkHwPx/8hgtsFViTjXhg==
 SZcsxik0I/WG565v5uMTaeemUSf9YQfq8AipOAqjXECCjiiubhh5Yw==
 bxF1XxIVqgR8Y+rL0b3WofW1NAP7nZQR
 bxF1XxIVqgQQm1XaECpfzp+rUqQ9E+hj5KT+nh1B9fD2qsH8Bt71K3fsamDNpb15
@@ -1349,6 +1353,8 @@ N0KyOCGIJsHuRAmaKb9XfeKIarVXaauBx1lMrdpGLM79W22L86TPmA==
 s19RNBU9menPe2hcTTjvZMaXZipQ6CyIHIGL3TVQTHhjuGscQ9N2qRAcHEbzCEmTYLphCi790EE=
 uP9MEkzTtA2QzSEAM56VEMSh/4ICFX5RBMH9kFA2JpU=
 bwNN0VOyWuZFOt7sRxaqwQ==
+B6B6tOCDU9i3HOYdzdE2y4NGh3Ph7bcX
+yE3028GRw4sgfl+PAUN+q03DoosJq4eSSmARnfpRl/s=
 /FM0Pm8mfPoxczT06aKb9/OpNJAvrZ3xihz5tkHv/Lw=
 /FM0Pm8mfPoxczT06aKb90isv5GNKnLw83FxhZik815f2ChFUsvjBwSz+vfXA+hF
 /FM0Pm8mfPoxczT06aKb97iLNgfuuXPL/FM0Pm8mfPoxczT06aKb91KxB97HgkVngk0iucsihkA=
@@ -1634,6 +1640,7 @@ NysOSSY+4qEG1uZOcpH/AX/4j7x0gXE7z25rBNmNLGofCyB/3hnYn0pgEZ36UZf7
 OJ3vs4UAPoRVaAan1wqBuYidohWcxy3IHjbJ8K1qLcw=
 dtCJI0kfSwiH6b5f889sjpCkbfNidSIi
 YnD/5oI0EY8qR7eclmnP44nlDGIEojbu
+vi9KuJkOJpb/pJalmAPzJCsPED5t/9gRVRZTPWgm/GE=
 9cGGEHLyDCW2LUMLmi0aJA==
 KZhjHvn6gFGibSuzwDZKlmlv9z0IZz0e
 nSPbUHZZGb/LzVpSjVSH+w==
@@ -1761,6 +1768,7 @@ GBN6GP7doOoIgs0zKncoQMus3smX3Chj
 o8wSXB6aZO330uqoz9vl12aLbr88rTxF
 WtRT6T9AUbRzjWSGr8uS7X7tsmg516Kd
 jAi+mKP9epIDQfYISn9a1he8z9eh9wPj
+avRp6cs1Tyb5cxGAKkd2b06AXdLWm3Aj
 CtKW2vjeczv30uqoz9vl1xrQTBwvKLHW
 BO9of2cAmLja/tL67Z4ZwjxVj3RXddKLEFqP7Zsk13JAinTHpx7OgOs4n61Hc67SgYI6QIrjTk2fCtuAy3glQsFIbe4QGF5WJAF5u1eveSle11o8wXpcCSCK0IH4Ir+EBzQqr6IcJuASwwC+YCWO67tCNNio9hXcaYfdf9tgcEZTHthtVoHqzgl3NysruQBC
 8qovY6sEWrlzAGlLR5XQUV6brYnAEEc6+2yQrvaAlH3W/BrxZSQ0BU2bf55NivV0
@@ -21204,6 +21212,7 @@ ERIgNSP99ZRhWn6YHAX0h6ZeSA7nXac6
 sAyY0FZQz9TNENOG673XHWxZXjsNB8K7
 1a4/xTvOduNpbm+k40ckNIc2TaTsGQoqcZl8lIPU9CE=
 MzrnRYF60fhrpFy891L4XX4zNXSI6nu3
+O2UK6cX+brR4QKVvnvIrpmePfpO73PTC
 NYa43Oc5hEuqrljbDEjymflHlP7tjLob
 t61gD2JVUzd0gsOQFfaMHGWZWgE1bRt1SmARnfpRl/s=
 TfJRtNSvxnNhWn6YHAX0hwf8ZyJNDKog
@@ -31275,6 +31284,7 @@ xqeIkjgGlOffuxTlI0qOJwYUgaPCtKmA
 5v0skFc0bFcm9DN1MeowmSnPt+UsacB2Wn6wrj3weiJCLjY9qQCzkQ==
 5v0skFc0bFcm9DN1Meowmf+kd0Q0mRZxY0SgNEIeWpxawU3eRU7LiYkZ3fm34kNjLKs3fnGbwV4=
 5v0skFc0bFcm9DN1Meowmf+kd0Q0mRZxHwqnNVHSV/exx5MC6fUadTotBZDWbn1c
+5v0skFc0bFcm9DN1Meowmf+kd0Q0mRZxHwqnNVHSV/dUmVpsuqUVA1p+sK498HoiYLA+7YRHhko=
 5v0skFc0bFcm9DN1Meowmf+kd0Q0mRZxHwqnNVHSV/c5DXC19K7gJeZTrTZTghGCoUEvceNfKJ46LQWQ1m59XA==
 5v0skFc0bFcm9DN1Meowmf+kd0Q0mRZxaMGTPVpRw3t719WHiOXjACT4fHQAiacX488zLLZ599Q=
 5v0skFc0bFcm9DN1Meowmf+kd0Q0mRZxaMGTPVpRw3tjnDOU4DYS5DEu/Z4Xe8FNsh0SX/zRpsJ4lU8TUORGxFnfWSFHexKtY6rXpwuNKtYJdzcrK7kAQg==
@@ -68366,6 +68376,7 @@ T380UQ2OhvZ+J3rE1/optea4pcCzZGo0SmARnfpRl/s=
 Wg8U0IPEP9Lfwq7ts0pheLev4PYzhGE5uXPwyqUHVzs=
 lThiGuwwsdonfSLuQ834tcJMMOwZEaBmoRbAqpLK04iDtakXhGhIRQ==
 GPEQ0MY+Wmao2M8bNjzXdGSNr4EfwctuXtUvj03zkNeYP44tVa1glS2UYvpoujwe
+GPEQ0MY+Wmao2M8bNjzXdGSNr4EfwctuLZyp1gIf6wgnr9Izh8zi0OQno3aIA4qOSmARnfpRl/s=
 GPEQ0MY+WmZx5RliAYiirLqLsCGr6h4hCl+IjwRUxQEsqzd+cZvBXg==
 GPEQ0MY+WmYraDo7dQF8Z8Ck4VG7CVt44HI+0PfJaYNcg6+SSlU24iKarW7vqHIrSmARnfpRl/s=
 GPEQ0MY+WmbVLkqdZJsoyYUKRm1D7meP+BWGlTZ/eYE=
@@ -68395,6 +68406,8 @@ kO/ZPx7Qn1/0PraNCx+gbKnwzMvgiNGDSmARnfpRl/s=
 WptjQ8u7Cl0uf7nUePeWDUeWdBPW52u4HUDxgU5uR0k=
 QPKHl5RwAzFl5FamRuWQ4TRmtT0uGmFLSmARnfpRl/s=
 h7WklESFZuPzWv3JWXH3RnYxiF9Dx9inSmARnfpRl/s=
+j7eGWv9xUYGjYk45JZu6bAUbfO8Dn7P9LZyp1gIf6wgnr9Izh8zi0LdVK8ATM43mSmARnfpRl/s=
+MD4McdgL0XAyh8C7KbS5CfetGGSHbb//E3whSSMg5OCia0min0kp8g==
 4dLdMATq0O1SdSgUn1pv5RimMjUQPr1Xec5Wrksekttpb/c9CGc9Hg==
 8Ii5vGrqnR32D5qnup7iI4IbgStSXgUr
 CHlnmiP8UnHZyhWdS1XBwCixYZghiFrHSmARnfpRl/s=
@@ -81798,6 +81811,7 @@ OtFynJ8ybnW3KjTN5OCWJ5YOyjtbM9UC
 3nu5sG93VQN/8XvC3rNUwEHgcfanC3d6BzQUARm+8nJ719WHiOXjACkf7qirR3LHawX5soW0cls=
 3nu5sG93VQN/8XvC3rNUwNOQU/KhAkJiIE1v28prfwNmI4y65vyzUw==
 3nu5sG93VQOl3V44t9O2Ve4/epYSm5LpGmMhkUXVfoU=
+3nu5sG93VQNYm2pzcr/F6PK0TtHeglMMIKBvhXh7AhQ=
 3nu5sG93VQP1YCsbyI36hL5o0BXuXOJR7NNfFd0J2o1idEKB7Sx4K7s0H62aoynm1NSGTmXRCBtWR6viA5+4KXKckFzFHB7e
 3nu5sG93VQP1YCsbyI36hL5o0BXuXOJR7NNfFd0J2o1idEKB7Sx4KwcHSBmBOwtb1NSGTmXRCBsI4VPEksyX8DUhx7IoesSr
 3nu5sG93VQPENCuWOSAucnMdRtKQ0PuYkIT1EeAb5m0=
@@ -82842,6 +82856,7 @@ Be+JZVPiyMVTanWtJ4CtBQpXhv0e0dBjueFkacWcmC85VWQRnaz42g==
 Be+JZVPiyMVlPXZ+PWGqEJFiYORsu7PCVumll9i4OMw=
 Be+JZVPiyMVSXJg7EFKheoSQBZUZqxisv9zSrJXTyoo=
 Be+JZVPiyMUKwAh5ZpiUdAHBr3EUkisxhdV7d/EqIXg=
+Be+JZVPiyMXc97BEhzokHla24M9gZVvjvqf1Cr88p2w=
 Be+JZVPiyMVVYJFTk786DAz3gL1c6qdrQv/K5XmernSia0min0kp8g==
 Be+JZVPiyMU62YCxopxQcShngpsINtgrueFkacWcmC9Vb6uJwqB78g==
 NqiJRzjPV1uxBOPlvbmotHlFWtFu3iVN
@@ -82944,6 +82959,7 @@ WVJ7+vV+e/CmJ4qA8D32NTLBgMGm5X4GNa1e4YPqg5Y=
 WVJ7+vV+e/BhLKqICgoXZZ0furFVDHkPNSBnAh4+qpbUhQcycmFTJg==
 WVJ7+vV+e/AQaLRAdyg3O6r+/ugaMuzs9WhGhLTrvNg=
 WVJ7+vV+e/DPGv7f6og4kt4I10LavLzLAvPqYHDQSE8=
+WVJ7+vV+e/D9VYj+E2pmwMz2CSnVI+iqcgZx/4FJEmc=
 WVJ7+vV+e/BWMmSPTqYRrKKCNn5WAsDcja8nV366XNmFZFwp+xdf2gHBr3EUkisxrcEh2J0tGUw=
 WVJ7+vV+e/Bk83en5DCS3jywCVnTa5tbueFkacWcmC9grZN/tzVc6w==
 WVJ7+vV+e/DpS1qEGfxj6RAjwYm+q3MxtTaSZJu02GVQzGdd9RiobZIvIv96vydRR4kToSfX4sc=
@@ -82991,6 +83007,7 @@ iWZDhaUiwIPJzi1W+suBI9tFyPtzV/j0Na1e4YPqg5Y=
 iWZDhaUiwIMtbqVOr+cBEZd0mClQdX1yXrpt0PH03bw=
 iWZDhaUiwIMA8NoV9br4oar+/ugaMuzs9WhGhLTrvNg=
 iWZDhaUiwIPBr2ejlk2F894I10LavLzLAvPqYHDQSE8=
+iWZDhaUiwIN9rgWENJ60Z8z2CSnVI+iqcgZx/4FJEmc=
 iWZDhaUiwIMhaR88kM29dTywCVnTa5tbueFkacWcmC9grZN/tzVc6w==
 iWZDhaUiwIPsimJks418Dp0furFVDHkPaQSqW+KedfdQW4tmpsCOuedxaGPqYEjC
 iWZDhaUiwIMDwtK9Os4r17zGCrn1wkcINSBnAh4+qpZeWSTdrbTXHQ==
@@ -83016,6 +83033,7 @@ rnweHYZbqiJ4Ce2lgPJa3mDrQj60dJn09UDIbIgpvdU=
 rnweHYZbqiJlPXZ+PWGqEJFiYORsu7PCVumll9i4OMw=
 rnweHYZbqiJSXJg7EFKheoSQBZUZqxisv9zSrJXTyoo=
 rnweHYZbqiIKwAh5ZpiUdAHBr3EUkisxhdV7d/EqIXg=
+rnweHYZbqiLc97BEhzokHla24M9gZVvjvqf1Cr88p2w=
 rnweHYZbqiJVYJFTk786DAz3gL1c6qdrQv/K5XmernSia0min0kp8g==
 zp7DEq21BTzZUWtGcMUTaGlmL0oYJF6hmSzhLdlKdEM=
 zp7DEq21BTwP2/l1ulDfWsxDOa8+sIGEA9mctMkg8oo=
@@ -85166,7 +85184,7 @@ cWjDGIpF2CmBONC4zJccDRqy6CphLYWiDEECuKsi51w=
 +wVulWuXva7j9lLGelo0UOiQOnihCrYc4k5YNnpE86g=
 BqbcR63UQKMhWOGXa0ayWfsSEZNhFyGKSmARnfpRl/s=
 2OEfdvpL5ObQVmmNZW3Hd9pPk9KTwD8p
-iarEMx+G71r+zZBCUkisx6Pu0iAwR9Z58CEghVjU4w4=
+iarEMx+G71qCyOLtEBaJWF2yei4+nUfvSpXlgmulof0=
 kVwhkSiFkEnnwS67G1yBT12NzGycBy2A
 tW1910vL13hL50FJcNUZ7vyJfKTKbl2qCdCUpQrDu9UGnHOMtuLl9Q==
 tW1910vL13iB4sdlzbbqOA7IJnIH+NJUQEDizqpfNBU=
@@ -96759,6 +96777,7 @@ qUN6/2NFaoX8vGP8PvOYWvBjDc6YVozACdCUpQrDu9VjHqKBdhPt1Q==
 mAvmI45vfiVcCIbWx8f+v7jpYFW7xClaSmARnfpRl/s=
 mAvmI45vfiWi9CGPhu3R7Nt0NaqO3XtQ
 mAvmI45vfiUhY00v9cyZNlGhPCPZmRJVdL5JuHh9uJgyajVLKU3kFQ==
+mAvmI45vfiWFsFQKjAAlO1Tjwe4O35OXspFhLRvsuUo=
 mAvmI45vfiXMcM4rk/p+tS5XMsWqODBJSmARnfpRl/s=
 mAvmI45vfiXeLpN0A51CdjAwLVZF4DpD
 3WE3wwBEo8hCkDYBUoNl5Uzq8wP8kZgtSmARnfpRl/s=
@@ -97435,6 +97454,8 @@ lVIdneZTUDA6pSVADuCWFC7PAG36Smv9zuqxLgQwFTg=
 gQE72frULUGAdgvNU0bIZue4v/m+4WHX77KkHwPx/8iqb8sK6riBlw==
 gQE72frULUGfl48tYDvMOZv5J1XKUmDk2ngRwEbQtvo=
 gQE72frULUGfl48tYDvMOXdzH34jJWE++gTgj81l0hUJdzcrK7kAQg==
+JLztWXsr5Nc2YkTDdKld5Xs/wGq0lsazSmARnfpRl/s=
+JLztWXsr5NdL5Zj4Nc8TV1qi9cOyPoEz/VMmrEaV8rc=
 87b1PlzDc4+CyNkMYBWuEoKoWEtpIM8v
 8Y9f0LYmz2KCyNkMYBWuEg436bWtrb9e
 juMQvdReYboFd1k+91TXhmaRfYUKvjvsSmARnfpRl/s=
@@ -98062,6 +98083,7 @@ vSkwHgeAIskIY8/fCv2QurdLlK73RGs8
 nNmQBJ4wIP7vZXptEwbPgAw1IUskFx3FLC4dIEcGB1cPscuzkMnhmQ==
 nNmQBJ4wIP4Ycg+vUXibadzIBxlOAvhZN7VKo0U2g/Y=
 bC4AoSnlfJElyX82MCFDjumldO174sNO
+Xv8hrfKhk1b/LP6CIhUajhcViY67B1v1
 Xv8hrfKhk1ZugDKyP4AFEl75y5LfhQ4B
 0pPoYNZZseabgMHwUeGiLPOklcj6MMFm
 0pPoYNZZseZ6gFDQDxRuo4Q8oitPcsCM
@@ -107075,6 +107097,7 @@ w8cfPSfmxGcC9pmIfwRsSHESmwO9wq2Ny9h+MNswtAg=
 w8cfPSfmxGf8I70JhidsIbF56/3h6iV5M6fr6z+R5EECfcacy8phH5GeUYn4wyr/SmARnfpRl/s=
 w8cfPSfmxGdK/sjPyprbclRsZDntZtOkueFkacWcmC9ANfPzoDmSKw==
 w8cfPSfmxGf1NJ3PhsrX5fb7PrDqB3PbPdVrRqbnDVkQM2dnqFlPog==
+w8cfPSfmxGf1NJ3PhsrX5VlUiLETBvFqnk2nte6xluL4QiLrhJ/s/Q==
 w8cfPSfmxGfpVIHj4FaxKZx/bhLxY7J1SmARnfpRl/s=
 w8cfPSfmxGd62mBOzDoTPKrWKUTI9fMlueFkacWcmC9uPNmFFqZcDw==
 w8cfPSfmxGfhn2qz5kEp5Zd0mClQdX1ye9flcZFfNpM=
@@ -107161,6 +107184,7 @@ A30+fw76qNnlWKsZt0ubOi0BitlCHQtXcQR0AVEm45M=
 A30+fw76qNkhYJqMr2VWFAUNYpYcD/GPueFkacWcmC/9xP65lN81zQ==
 A30+fw76qNmf97hVg+8qKTBs/oFAIzaeueFkacWcmC+i9oolVQpbow==
 A30+fw76qNmf97hVg+8qKepBNjpRks1RIZ66lMxmeXIFL4zyJJxlsA==
+A30+fw76qNnxL4bIBDddv15Etj6v9Ogj0yQiaf0wv9s=
 A30+fw76qNkCe2+D/JlbPChngpsINtgrTOQoiIGpfT1DrR56jpk9C1dN/CAFOal+
 A30+fw76qNlMiWLFYfOOgnpT2p1cA0naGHcD7FcFVxAsqzd+cZvBXg==
 A30+fw76qNlMiWLFYfOOgi26KmSME0OIIZ66lMxmeXLGXG7eu2XELg==
@@ -107193,6 +107217,7 @@ jUMC5ndGH3OYnTx9gwtMq7qkbCaA0uUizNYNbWpm86BliDsUXizudg==
 NPbSZU7VF95hGT9vI+tGykZPo+k2fXKD
 jkSR+NUjHwyQ4FSyzAKv7/wyznKZVl2qSYCQytcRi8p3C8V2dEYQEA==
 jkSR+NUjHwxKnKb/pGWEB6DI8ub6ePiX
+occfB2yZ92eeiuofBOKGedYOJJJ07nAbIl6yW3qZXlI=
 OfFHnnIaZs9P4dPm5lws4rLOS46Pdq27J7kOv58E7vMQM2dnqFlPog==
 +do1dnVswZjjRiLfRcBLKn5sSjYemuuo
 +do1dnVswZito6XwLX1nKPBjDc6YVozAbTPHdbRmLw0CJhLB/+jljA==
@@ -107283,6 +107308,7 @@ ASSqc3YAVbXG/OQ/N8stHgoOZO9WF4fNSmARnfpRl/s=
 1pAXVFN8MM7y1gJFZ8PEtNZkVilpZH0N
 1pAXVFN8MM5cCIbWx8f+v2IHwAaMuTfqSmARnfpRl/s=
 1pAXVFN8MM7J6B9K6pWKt090Vjo3V7qExac5P1pvN9w=
+1pAXVFN8MM5HZYLiJmy6mfs/dsgiH7YKSmARnfpRl/s=
 1pAXVFN8MM4hY00v9cyZNkPuZNBSol8oSmARnfpRl/s=
 1pAXVFN8MM7McM4rk/p+tZvLlxuXtnShSmARnfpRl/s=
 c2XVhBbbe6vKMZ61/60p3xlcotvFInkb3gJjueS2lhg=
@@ -111561,6 +111587,7 @@ HzARlpJ3iB/4N6xdPuSE22wmpPcQ8JLt
 /rsI9yo/bX3GSUsoPjUKQyTAruols7a1
 aGxRz6tWVWDZ8hWu9o4HovBfnFdKmeWxSmARnfpRl/s=
 SnvsAxNKZR6QK+NhoQAetQl3NysruQBC
+2xboHDB/EuOw3lwdUoOe86X8dxV3wBISiJ2iFZzHLch1cr1N1Q2vwA==
 obHIsu+ZITyLKjoIhE+y4BwyBNtQiJo8
 obHIsu+ZITy/1ABdgfBHS7H2kj6aMhliYmLmjSJb1T3kpByPNpiNyEGsdOGgj/Hl
 obHIsu+ZITy/sJ1iNaOa+OwKSWruCMZFm2GOpFDCCyE=
@@ -111602,6 +111629,7 @@ f8eAktbUiucRjr5cg8GjeG47kz5hb7uU
 9NZETOcNvAwRjr5cg8GjeP1rt8UoytdE
 8jxKqEQSnhjCDkdCwBCU7q9gxe3dR849
 v6GHDspcQKYRjr5cg8GjeFrWyf5iSB/f
+pJMdw/VVCaFSp10dAPIrRd6Ihoe+8YoXKw8QPm3/2BEyajVLKU3kFQ==
 u/YZkysg54sRjr5cg8GjeNygJvwDgoCt
 Tnj7CUzeMcKbjatNTiRgkt81UvZn3Nxl
 O1MCMoEy9YyiXqwYe6FKn6iysfAJSuzGsmIG2f5oQ7CS7/ya0S/+0Q==
@@ -121543,7 +121571,7 @@ FIE0JiVOEyC3pLK3TPHN4aWqBtHtjnb+jBvUwsTvVlU=
 4qgWEGO8fn1i87ZedIEUocNRd9EHAsRSN00KKa+Lpec=
 4qgWEGO8fn39Ekud4oYXzSyFTGBKov25/MKSoV1Eamo=
 4qgWEGO8fn3VdH+5YQygedUAZ2wyisgL2A64+y1WrB4=
-4qgWEGO8fn0ZqEd8dmNglFgOKJgiEfTIoQBfEw4xYC0=
+4qgWEGO8fn0ZqEd8dmNglC9zqDHp++O44+pJq3AbKAAoxvRxd/z18Q==
 4qgWEGO8fn2bUumNOZBvZwHBr3EUkisx3oxz0qidJfs=
 4qgWEGO8fn05zVfRbYVKqCyUacjNeYvJZk9OdV+ftyKia0min0kp8g==
 4qgWEGO8fn1utpfRTFDXoFgOKJgiEfTIeOnFDmtFmNU=
@@ -131952,6 +131980,7 @@ ODv72OvYwnqYpAtvff/yhnLm8EIUKRZm
 51wIByfITnAjRl7LXdDw9uAY1/L0xR02SmARnfpRl/s=
 uZEESyFhpUOYpAtvff/yhq375IASCQFf
 EL41LPp7sb81ZpKftuCxZV2Jgn2z/vOn
+E008B5AFtEBsvY/1WYn5f58d9/XWtcyoO7XNwRQk9FAsqzd+cZvBXg==
 o8GXv2b3Sc+kI+VeCMEeRBtPFpcLP8R5
 p5sWPn/kPBaYpAtvff/yhmgde8BXFk6L
 F5ckUnNwDgXnxwbl/hR3BB+6ruk5NfRLSmARnfpRl/s=
@@ -139849,6 +139878,7 @@ GxHwkP8yP8NJuobvaTwFd3Lm8EIUKRZm
 GZ06A9saA7UGU0POf+19yrwh19aQA7eYSmARnfpRl/s=
 9Q5X6VdWL3ebjatNTiRgkvsY+yhrHrqp
 iQFsj6v0JULCDkdCwBCU7iv572NaZPNX
+b8H1n1EN3TOdT6HgUPKwCftGpZILjpNv
 b8H1n1EN3TPqv2v1H2zDM3ItA8M8iIEQSmARnfpRl/s=
 o5i15OVwibNJuobvaTwFd9ygJvwDgoCt
 tibDEbZkJ8f41sEtF60lr0dMEjau5Rqu
@@ -140033,6 +140063,7 @@ tbtz+swqm90rHEzzfuTbagSOZqWEUPWCSmARnfpRl/s=
 I7D16sgg9WnJe0HyvYEwh4XMRsYBw9Rh
 iIyV7RXitRJx7INdmKQDUKu/sGKzUAZ4
 8SYw7mafhfvAZQ3JO6UuHpwxo0IxPgvG
+FDGlJkCBlAGdT6HgUPKwCftGpZILjpNv
 FDGlJkCBlAHqv2v1H2zDM9IIxxNmPcnfSmARnfpRl/s=
 SKdFkGFxtxJ7L7gHq4CiL6/wh8VXxhgZ5XaIxH2ZbTsgtO9dn6Hl/g==
 SKdFkGFxtxLmMPJn7kL+T8eUU2PP/nPfelo5tUHmiV2ia0min0kp8g==
@@ -146116,7 +146147,7 @@ UbhBtog2Go1bC/zT7n44HBKN1d6Olqg3
 9K+PZ38Hd/3MrN2rx+tfy/BjDc6YVozAbTPHdbRmLw26fDkaVxSS8Q==
 9K+PZ38Hd/2kWKrTlhQV2Zgw2Vk3EA6TVw+Ccdrr17M=
 9K+PZ38Hd/072pP1HOWsdJgw2Vk3EA6TKC7e3K3FW5Q=
-9K+PZ38Hd/3zHW4q2SQCP07AFA+7mT52SmARnfpRl/s=
+9K+PZ38Hd/3zHW4q2SQCP7CR5w6FKSUpSmARnfpRl/s=
 9K+PZ38Hd/0UNA3Nm3TK0WuPy50HvAqneB3XnL9WTHIpM5ZJv4GTyg==
 9K+PZ38Hd/0eNL250Ot0vTZlJriJfj3I
 9K+PZ38Hd/09UdZJI7Ci2PBjDc6YVozACdCUpQrDu9U+WfCzilfnSA==
@@ -150561,6 +150592,7 @@ jnKM5RvMFMZLYKh9EgcY1glPatznB48TVeKToIKzF5CvionE6D/E/UpgEZ36UZf7
 jnKM5RvMFMa9RePhaoclSK4R7ARCoVP6Fx/QQiQeDi0tXqr0K5lt6fOpNJAvrZ3xi/dBl77C4yo=
 jnKM5RvMFMa9RePhaoclSK4R7ARCoVP6Fx/QQiQeDi0tXqr0K5lt6edNo4BcEstCCmuSGR/eYZ8ihxz4/zbYOA==
 jnKM5RvMFMa9RePhaoclSK4R7ARCoVP6Fx/QQiQeDi0tXqr0K5lt6SxtKzYJlZgp8EU8g7GkCYWoP9nY5J+usA==
+jnKM5RvMFMa9RePhaoclSK4R7ARCoVP6Fx/QQiQeDi0tXqr0K5lt6X+XkvDcH7T+0mwWEBeTA8vuKogGCsu4dw==
 jnKM5RvMFMa9RePhaoclSK4R7ARCoVP6Fx/QQiQeDi0tXqr0K5lt6WRy32IPobgduasXhZNE+R7QwTXbBs2g2hAzZ2eoWU+i
 jnKM5RvMFMa9RePhaoclSK4R7ARCoVP6Fx/QQiQeDi3P6zw0GUrx5fF+aFMTEzweNlj4zWq4WbBKYBGd+lGX+w==
 jnKM5RvMFMa9RePhaoclSK4R7ARCoVP6Fx/QQiQeDi1NYhNZ9GsaVQprkhkf3mGfF5A/ysxjPrw=
@@ -169904,6 +169936,8 @@ RhKDxaGAz+VKnKb/pGWEBw5bNxvsMvDW
 z519OPLT2+Y2aZBJ4K93uiOPygluc8YVbTPHdbRmLw0VUlJIg6AQMA==
 OUsRTFJElqJHpEZTvZxY6yqtpMMu11Z6SmARnfpRl/s=
 0WM32aqzTiYZG9ARaTily5mgCQhMZbxN
+TGqmJ4RfVItmPN7YwJoWfLpAKcSOMc5z
+pPM4oIxyKp+zh6+rE3+vB34C8xXjrjTy
 pPM4oIxyKp/Wu78FL/ZZYWSHDVa8dyJ3ogYEGh0LKVE=
 IOle6lUs7i/I8rHJVr25fIa5N/gbik1v
 AhEu4QOTYSZNFBlCwBi/QCPl7BIireHgSmARnfpRl/s=
@@ -185111,6 +185145,7 @@ EbWEZagUG7ayuXL18BipL5g2swZMTYQm
 9hoaTYgySBY9iF7+YdP6RBqZbE7/9xPyUpz57Luoc9Y=
 9hoaTYgySBbZs0Zy/xq6N9KpvW6MFPajLa5QS0WjX2U=
 9hoaTYgySBYpegMTOCww5XFPOj7gBUpVHNvF1+pvhm0gOSMVM4ii6w==
+pi2qsh27oduor7r5GKAXmFulIgIxenP4Z80A/GdQ9c8=
 Ydxvq2dhxsUJX/LNMjsHoZYl59dBKvVsDxBTqhxnLU0=
 MkOEostkFw1WgHE3Y5h4coxoaH4onVsRxchXgNwCh30=
 rIfC0VNDPdLGRRqXzKHOzFJyMr8hOgVLTCW9iFfCzpJKYBGd+lGX+w==
@@ -192306,6 +192341,7 @@ NQ113v+6IBDyw3PZYaXoXbLk9rWTi1ek
 b003jtxmPJYQwKdYOWmK3eUYjQPlTJ2pZMwgfb5BzynaZSr4Tg/L2qCSjentAeByZ4bisGC6IX8=
 b003jtxmPJYQwKdYOWmK3eUYjQPlTJ2pZMwgfb5BzynPb8+LWn5yd3P6j+rvpbojD3WZ6mK83EPFpcHFes8oVJtE9deeEdlqiP83XjKXdBYiA+rCgrS5nLu18oCFwkRKSmARnfpRl/s=
 b003jtxmPJaq1JVyxchVidjSsQ+oT/EGxgRKskOLUVL5hFV4GU1bdB8Qp86dOUP/SmARnfpRl/s=
+b003jtxmPJbP0kbb/90K3IB5Ph+vHXoTiJ2iFZzHLchgWZ6gV/UhSQ==
 viPynnLzhinyw3PZYaXoXb6ARqFehQ/6
 3pGM8O/Pzn/yw3PZYaXoXba42ztqLYXN
 oCkhLpsVeo/yw3PZYaXoXZ6Dn3vScQPZ
@@ -207484,6 +207520,7 @@ XvCy475Ltg99bZM3y5KU1TjQeqP62GoG
 YR6t3DDBu3tXKTFscFUMzuxh3/oGR71v/W+yu/ZXvNA=
 5wZPSqkwlRIGd7aibdYNrFpVnFyjjf0A
 cU4TV04RbexpMRiTSFfdW0lG3ygnyMGF
+AMMsZqHJzFpZdXdV4svc7qKFudvGBiOlPygOyjhy3kY=
 31Rga7/IzVKo0JguUW06QGouhewmkIr+
 X8Od5vGHp92o0JguUW06QP1bbYvzpM+Y
 oQ2bUc8XIjao0JguUW06QPlb3rpIiZrc
@@ -232933,6 +232970,7 @@ Wz25MQt0lOZJ4+P4llDCfPIdS86gNUQXSmARnfpRl/s=
 cRo76jw+cGqOsH8Wx/Bb5W8dir3/huudSmARnfpRl/s=
 qHdx33eTJ+c/WzEqRE7NedAfhw2gDPljSmARnfpRl/s=
 AsvRpjmZ6S3MQwxTT5KSePAeJfa06/BXSmARnfpRl/s=
+z6yOLRXgPymbiTOXkYp4Gq+EhPbjlQgGSmARnfpRl/s=
 QueOu6bW+lqMISOHHEeDn9GRi7UCEMfUSmARnfpRl/s=
 wZWk7haKW6hNyMdFOhrIQb5FerThgmsM
 wZWk7haKW6jpBivUbzO+yeMQosTN4UzNSmARnfpRl/s=
@@ -239871,6 +239909,7 @@ zE4DDYa2IafH20pKj7F/8R7MEkcsbJ8t
 zE4DDYa2Iadxlc44gtD4ioogaEMBe97NujZRn26kdx4=
 zE4DDYa2IacuSVn1SNyzPqXyNxjVHjLKgGSXT/kqjR86rY/IBso8lZVbgZUhGgoK
 zE4DDYa2Iac/gPzd2pqmmPrTFF6ae4n8fQJ62ocpkJ2ia0min0kp8g==
+zE4DDYa2Iac1jOKLBuR/yoz5Fh2MQ6stwGQtFKi2N9n4QiLrhJ/s/Q==
 zE4DDYa2Iael3QAetLW/rEsI1vC0ri4zGAd1Xau66Po=
 0EqmfxLO/MbR8kDZHtTrMP40cBaURNzV
 3IOsQ1pMRSadn8dTsPtb1tRJJGMSVXtA
@@ -250279,6 +250318,7 @@ HGrceWwfkHfU/GFrhqO3KgpRvXyO1DTpSmARnfpRl/s=
 zilJIlZwPk5Z5DAh2Nl1zAQ52pCtYaYXSmARnfpRl/s=
 F+3tJvGejjmZPFVG2grpEtCyrhE5VdRY
 4K0/qMLvqPhxvFS4vsgHbO8GfwA/8Mev
+CQPV2kAk0wGnAJqvdb67fWqyzYY4Q8GjkvE0b5eCs6c=
 YEO3irINWLBsk9yq7mc+hwprkhkf3mGf79YvOHuTes4=
 FfhC96NDPsZWGVLsD9v64yN8qZy8ozlFSmARnfpRl/s=
 FfhC96NDPsbwJ1Ea45EfCRmTZ0HWIESbSmARnfpRl/s=
@@ -253018,6 +253058,7 @@ oNstO+eKxjjGCZlhmQQASKXR50ORDyLy
 ft+TyupuP4HyaxMXQmVlebKKr6sbeiFr
 ATjhcXaojQbyaxMXQmVlebgpkpj22Y4a
 6qWbsFylfS4XeTNRCogQzQrVWquaGsGZ
+bBTd+JJbmLCAjmYG5ysNfwg2JDLVVA1NSmARnfpRl/s=
 D+KYFTHzIUogV7ALag0YPRCAeexH+qxc
 D+KYFTHzIUoltPY7cO54N0d7H7HLRgruFhUNIX0DDgY=
 D+KYFTHzIUrnve0YhGg8alXp/mpqNANkarKaGeHQlTn4QiLrhJ/s/Q==
@@ -260117,8 +260158,10 @@ i14WAlzzt02s4JuPeFrqhAVg7izHpZwo
 QAg10vhTJ7IUpgpa2t/1bkVQVLoPgWRkSmARnfpRl/s=
 QAg10vhTJ7KuKdqzgkV41jnLkIWLDjTa
 nAVyP766hShn86V0gu2xVp2EBq3aR1KS
+nAVyP766hSii1XI3Vo/CmpPkQ3IuAvOFZtlVMyjPWMOHaPoJ7/2RpA==
 nAVyP766hSgkX64+rAYsn8xEHLCiD1Fb1I0UJQTFUktWgHE3Y5h4coxoaH4onVsRfnSA7B/zUvY=
 nAVyP766hSi4Y4TI/cVaRhqy6CphLYWiu3T/nqathjE=
+nAVyP766hSgBamfLw715aNYOJJJ07nAbBESBdJcvgzg=
 W6KOT6bn7E/L6TzfCmRwWYJ2BG/viEEd
 RMWMJgKGJw79qI/NdGuLvoxoaH4onVsRkP2MxT84LVM=
 lPsCdpD+zuPPPM9ATSnkNqb3hhJ9sDWxSzoSUxSlAY0=
@@ -261469,7 +261512,7 @@ zx8XxHAf2ywhnEaySsYKw+QAAKUYTwrnSmARnfpRl/s=
 XkCrxx1XY6sYyYRbFnjPyNzTKDPvdlXAgeoW07/XNDw=
 JuurCsO3WjnUkqMnF0aMeFMq1YindRvjSNz4J+Le5/syajVLKU3kFQ==
 aNp/WEVon2BCMLvbcTBgzQv+fNgusmo9SmARnfpRl/s=
-ocPGheMUELiQP3zmPmim+tXO7yMKx7clSmARnfpRl/s=
+ocPGheMUELiQP3zmPmim+uZyVFQ14XTW/gxklpZO3SgqcaNMq2uGBA==
 psxQCLxmjyYdEkq3OPUHQ/Dzjm0tbKnwSmARnfpRl/s=
 xjO1sjMhNjC5bHAK75OIEAqGoy3Db6uOSmARnfpRl/s=
 x+pIUGlWjd2RnR+ORq+nHZG7ofekbvpWSmARnfpRl/s=
@@ -261482,7 +261525,9 @@ W/gjVnorlm4B4S26cwGZISRZC4mVCT6NSmARnfpRl/s=
 1fz4RQYPFbsUpgpa2t/1bmG9Lmy7zzMpSmARnfpRl/s=
 tDoReRdfo5Y5PNtj4lVKzZvZtkC4l2/7SmARnfpRl/s=
 kiJCdE5vdm8mtoFpr36A3M/F9P1FJ6X9ih6bKHxF+rA=
+AMhWRWr6hHIrGIav9avGev8GGuXHhbvgSmARnfpRl/s=
 vPOy++tP1754YSL0gvas08GDiZfHmEzfSmARnfpRl/s=
+0TLzIWW9EWDkU/H4bASSszOdD9SUXjc4tjTKDrD2a1vFpI25Ovug3g==
 gCmswF/egRnYr7FctzryjsJFf9yAygZU
 9S24SLX8SUPnOdsli/HL9mgde8BXFk6L
 7pWlCAeHI74w7Z1aiBMOw3Lm8EIUKRZm
@@ -263984,8 +264029,13 @@ JcY6i/Si46UZ08BfnzXD4Zabf7W+PpNkxu28mJjAQbjXJjVel5Lcj8qi6TiK+lc9jeb0k40u8xg=
 JcY6i/Si46UxMN78WjwfS8qi6TiK+lc9yHRYxxydids=
 JcY6i/Si46WR1pwamUD+EwRs5BvW5nuN9BVrt6ydcnjmELsUFwAETf99/6/X6e3YGhRXduWr8caJgnAv03D6xQRs5BvW5nuNahMo0pwQ3tmtEaMxxQZsodTnyEIUhG1b
 JcY6i/Si46UMhH4ZSPN72AHBr3EUkisxHEv5ysnTCiw=
+JcY6i/Si46W+yVzeo10ce0tUb/DoAlEFZAC9PF50f6GcPnFuHyHfCEy+FCXgHxLF
 JcY6i/Si46UoBuc7Lqnk+V4bqzmChzJFSmARnfpRl/s=
 JcY6i/Si46UIFCvGyemynVxewJC0KCfTYsOMR2wTwTHaEtkn7zLl0w==
+zahjLtq2FgvW65hphCEZl7uKTyZ6Cq1Eb4/vneWt+5sqH9Lh26QAqw==
+zahjLtq2Fgsl4c7ETbpRxcqi6TiK+lc9FfSJoynIV+c=
+zahjLtq2FgtvfWx9M1nlfRJdKE8V88bFjKux2UtwAq7opksf0OJ9RMqi6TiK+lc9QVCh6ywwoko=
+zahjLtq2FgsaqzmKr+HxOsqi6TiK+lc9uW+BflQljjg=
 eCJ/zq67xM1FVPiyVOc0jt6jqr8TZJpWCdCUpQrDu9UaXKKNSCi0jA==
 CcAtnE63g1wbJQKeafulS93zTJUPxNoBEUpiQWAhXdiHLR6Tg4nseX57S/QrllU8n78KB92kC0w=
 CcAtnE63g1xNpemFAoXY/esJ3ZFvZeZsSmARnfpRl/s=
@@ -264069,6 +264119,7 @@ zg2WA6SXKBJWOPPjn3Kqw4SQBZUZqxis85PoT02QrJ0=
 Alnp/naIVx9k4WBa+TLh/kN70ZQeptCJSmARnfpRl/s=
 KKvHiAc5/MxdUSunwEvfcWWuy1iRh+6tjl3L0jLSq8oZJMQxXyEXF8JHt4qn8+e42EiJBVK+ttFhAMPdJflBkHEB9IVoE9Ec/EVZgGoOe1I=
 QLNtJDCWX7zUovPRm9SWOm264J1N59YVHuwpcugXO6g=
+den6aVBAkIXz9wVLY6nkKiuXLv+mI4FmPSStwofR7Np6VpgB3TVVisqi6TiK+lc9TrjHuZPwY10=
 den6aVBAkIWEfew7WW2YPGWtda038ozBiJ2iFZzHLcgYwh2nXPKEuQ==
 O65Qy44Xs46tlhm4cMJ4dDIN3DtZAp2aSmARnfpRl/s=
 O65Qy44Xs45wUva/Kick86Ril92oa0BgSmARnfpRl/s=
@@ -265838,6 +265889,7 @@ eA+8F1tNJQnnrk8cSUPcCl/YMAh7YadeSmARnfpRl/s=
 C1/SMzzly6XFPAMEgj/94kQ7GzwUgbL3
 u/MIgXd3G+2JKordiUwEnvb7PrDqB3PbG8BMHd4k1aUgOSMVM4ii6w==
 cJKmLpArokQcbQGoXm5oIuiQOnihCrYcfsmzv88V+e0=
+i1fvymImqH9Vk+ACio9YKwOiC0/K/q3hiJ2iFZzHLcjLBumWHWmTrw==
 0/33dYIPpG4cnVtzArgcgLSZA6AQUdOHSmARnfpRl/s=
 gEXxaQT8LZ/McM4rk/p+tVJe/6lfkpKESmARnfpRl/s=
 t0yBU3DrkAj9qI/NdGuLvoxoaH4onVsRU84d55UqEio=
@@ -267222,6 +267274,7 @@ Fu+biaoxsKINkZP1wGLro/SDJmWqm11JSmARnfpRl/s=
 Fu+biaoxsKIhY00v9cyZNtSHeZNX4O0ASmARnfpRl/s=
 Fu+biaoxsKLMcM4rk/p+tbdimrRWt3mDSmARnfpRl/s=
 dgkBqQyHhX0dbTRFSbshljFCU3hqm0stF2bgCvxQtxI=
+dgkBqQyHhX0+kp4IQpA2RJ0YFdWkfgjpN8K/qq3SpBbDgzdnbRY10L8kzLmv1bd+
 dgkBqQyHhX3l/0ZEJVLyiejnb9G50UqMHcUc0YX26/M=
 dgkBqQyHhX1E5VSCH/HVAdzBfvWDNYW4sUwlAAaZI0kQM2dnqFlPog==
 dgkBqQyHhX3y7RoKlyu1GKCSjentAeByFmBJ7ho347U=
@@ -267903,6 +267956,7 @@ WH5Yk+VVQ9S9jsFDwshXc/popdpEpIrGSmARnfpRl/s=
 med9Mxv39NQkAYZU9uPiUicep9B6BF9WSmARnfpRl/s=
 ROtHs56FpZuxyRFsWtXqcScep9B6BF9WSmARnfpRl/s=
 4olpCXCqvMRtxpkNxgSJGlgQjL/DfMe2SmARnfpRl/s=
+UD4vqZ7TepHol3IP6ixIuIbDkv2q0cdZSmARnfpRl/s=
 FdiMfCuy8su2fWvTFyKcEwCiPhetFJVm
 FdiMfCuy8st6kF2APNtsNoSQBZUZqxiszzpdbQGy9qI=
 SjEAVKRfAZxqGyE8Eg6LODJn08Z+4SVV
@@ -268652,6 +268706,7 @@ bsXFuikZUJ7zHW4q2SQCP14i0ASMJF9JSmARnfpRl/s=
 bsXFuikZUJ71CCzuI8kAXNDUfRlLOcrASmARnfpRl/s=
 bsXFuikZUJ7hysV7nou2pTRwbQP06oRwJoZqVofuCq1eMttGx7/fQ0pgEZ36UZf7
 aYkleSfseW7o+PQ0kRuEwwMUa9aoIh3d
+sFozbw7QrUd7OdwxQbKofsqi6TiK+lc9xBzlNN1NMR8=
 /U6huQ5vIBreqqn+FdRjnG61fp4tUGEkCdCUpQrDu9XGWtYNVSeT0Q==
 8j+Mzal20IsjAzqbikWeIv1bbYvzpM+Y
 KHtgfwB3deM1QN2hrNy7zKo0A5LJOpB9SmARnfpRl/s=
@@ -270329,7 +270384,8 @@ CcGrS5A8fIf8GkLFFP0vqes3AKEnLkyaIdCFCokZ3tg=
 CcGrS5A8fIedsb1tHLoW6AHBr3EUkisx6YIPuj0n5YI=
 CcGrS5A8fIdpG8sypRewagHBr3EUkisxabu+OJ8kvg8=
 xEnrN2RkH7VGmvb8X35D8Q8yJiNJpS/d
-8Tl1TpQkiTp129FqO2E/Zsqi6TiK+lc9FHYgTPydowg=
+8Tl1TpQkiTqbUumNOZBvZ1a24M9gZVvjxMsBFxI1Odg=
+8Tl1TpQkiTp129FqO2E/ZmjNN+a6KsCiLxFybBtZJ2pshPse7UNPbw==
 8Tl1TpQkiTqs0lGrjo1hHMqi6TiK+lc93g4LjrRW9qE=
 ESOf2A5uFXMMZYSkDYOoIyA5IxUziKLr
 rJ7SIsC+8sdxVapdwMKWxDJqNUspTeQV
@@ -274679,6 +274735,7 @@ XBmwEkkIeqjbvFhfI7LJtMvFEpmwW72DSmARnfpRl/s=
 N9OxisS/UHAYm1hfMx3AIFH9VUebm1nL
 CeWj0VjzUNHRMz+0sqhLHY8X9Z71jNb5dY2xp2eJsLESp1OOMPWlwyA5IxUziKLr
 CeWj0VjzUNF6gsCFz4rMQrtwCWKxFMYePvsaLrYOr2oJ65kp0QobMjLgr0nO9Gvn
+CeWj0VjzUNGYP+BccaZpy0NSUUrW118a8AipOAqjXEBRAMnQssaNqQ==
 CeWj0VjzUNGYP+BccaZpy7xhr8KugiwzdNqOlF6i+MEseY//rbFvEwiTWMhtc9Jt
 CeWj0VjzUNGrI41i8grtC/rTFF6ae4n88qNd1FFMnCYyajVLKU3kFQ==
 CeWj0VjzUNHPbmsE2Y0sap7i0T+/WHg8SmARnfpRl/s=
@@ -279348,6 +279405,7 @@ mXEk+EVYJP/segk28qSZmsfFUTXbhuxH
 0PSdlzO54NgGQ4tjYBoCvea/XZznbl8QAEcqXumK3UI=
 0PSdlzO54Ng7Yq/j/ImzKtpViIDq2lsAWn6wrj3weiJRRYOJsHZAHg==
 0PSdlzO54NglImgruxBE7pZWOVn4BRxMG6FfG/DiFRxKYBGd+lGX+w==
+0PSdlzO54NijOd/Oy4MS7iGk5pCslV+WUE7j9S0aCE1KYBGd+lGX+w==
 0PSdlzO54NgnOSCG3WJuCdbIl/HFr5hFeNTxRUOundRKYBGd+lGX+w==
 0PSdlzO54Ng4WDNB1wcxaNUb8UJ42BvZ4U4fmlZHk6RVHaE3FYEvPI3tTLt2+SUHt8Unna7ngTEplJsbbV1Jf1Qq9GwowM3xqCfhi5h800C1wk3CvAJm+v+dt/INI4zY
 0PSdlzO54Ng4WDNB1wcxaITzTEMhsqvUcrtyUJQ5wQH2Gj4Ogy1nDt6d0entB9ZyGRpLSuiM0K4=
@@ -303348,6 +303406,8 @@ U3+YVt38MIFspq+2OniypMdcbIsu6s9P
 wzMgikbhpNHd5l/Af0UVtOSOesxKSutLX6B9NM4d6UIR+F69b38zQQ==
 c/Ncse5rsvAQga5F81UBXYpdsrrN1O2E73IxX5MSpNT3IerhBpVBuBNen8nojsN06d6WUSbfDmQ=
 c/Ncse5rsvAQga5F81UBXYpdsrrN1O2E73IxX5MSpNSYZuKGmsw/HV1Ox6IxNWZpwNAsA9hTKZsJdzcrK7kAQg==
+c/Ncse5rsvAQga5F81UBXYpdsrrN1O2EVLWfAn+/IucTWuA2UFzEex6qlDKm/kF/SmARnfpRl/s=
+c/Ncse5rsvAQga5F81UBXYpdsrrN1O2EVLWfAn+/IufQUsODqgGJv1qi9cOyPoEz4iw6VIZEDKE=
 8PQBARwkNh7eg99g/91DNL7Pg3wAL2hG
 Axc4SCipvZ0DlU+SYrCBGzE1luFDkHSs
 +z2idE4UsRX2sVxiIIN4SfmAv70OE0Rs
@@ -309920,6 +309980,8 @@ sb/b8Nhc6i9EsfqHA/VqvEJ32bjpwVODuXHbODOph7UyrcAZDbDV4PkzdQLuDn2o1NSGTmXRCBtDURYD
 sb/b8Nhc6i+PQIFNgthTLy/o1OcMEvjyZ7JNdSf3Q5Sg03abl3Fogantzp/HHr3pvbuD8+ga/ss=
 sb/b8Nhc6i+PQIFNgthTL75D19DC8fKjjTCnpan3xt3Dcf5wjaD2QkPDiIVXhxXwsoqvqxt6IWs=
 jZuRBgvR3n6plauobX9G7tMrxutFSy4v8qNd1FFMnCYQM2dnqFlPog==
+rabSc3wWhVmuCUEEtjBkRwtCaQ2JRRsdkgZKobmAi8mBepPmhTd0lRt4ZDn+L4zOD/vLiKRtJBk=
+rabSc3wWhVmuCUEEtjBkRwtCaQ2JRRsdOA08yh88WgQVi7aoXVdXu1fKgkqTtZJaP5laEv3GJgzxx1kU7dcml+M+C0e+G/WSiJ2iFZzHLcjz0PhS6uqCMw==
 9gJSXmnnbETHyYsriMKX/h6Z2jS+ycTg
 Yad5JGbnNRlYtqA8c+vFyr80dsSG+8nZSmARnfpRl/s=
 SXSDy3lrvMOg/wh3M/ddg2kJpLJHuiDXSmARnfpRl/s=
@@ -314388,6 +314450,7 @@ B9uuO07HaYAmmfjJX6kDWXdvCBGskFZcO2c0Q5YsUYRx0wWvzLeH1Bzk9semtxOO
 B9uuO07HaYAmmfjJX6kDWdu8Tqym4ZPBXwh5XLuv0SAn+3ERlCEjkvP6OfEB/pnz
 B9uuO07HaYAmmfjJX6kDWTRuGgCXeJbc2YQCD/ry6psn+3ERlCEjkmINAtlT73mR
 B9uuO07HaYAcaZ92C559t4nYuO8eGrfySmARnfpRl/s=
+B9uuO07HaYBa83vSQ4n8ppb55T17ykaTSmARnfpRl/s=
 9tL8CKkzfuTEe/TMiXWvxDGAHJGAvpRa
 oWW8xMEo/Q7BHE45J+RQmHfsamDNpb15
 13cMgt4WC9CqrljbDEjymfoCIimQkoXm
@@ -328868,6 +328931,7 @@ ypYq0llNvxv0tEYPdW9z6eNgy9Myv1yKyo2Z7qEOoXA=
 ypYq0llNvxtxyX0YyrtxsynCKRR0N2NDlbMBxkNW4Tc=
 SVU9Q7ESmpYq/8KoHvUfQFOlBV102mLpbqQHk01DrrGSz/uPvqoj8g==
 Nhddf8csa6aB+O1aj3kpBoMDch2iXoigSmARnfpRl/s=
+Nhddf8csa6bPwEHjkdrkOpvgwYBxUBbzeW56Qy5xhDI=
 Nhddf8csa6bPwEHjkdrkOvOn7n/6VEEGw9ZCKbqO0M8yajVLKU3kFQ==
 Nhddf8csa6YGTQuPSZ3TvUibYgaaMs/eH803a2SPcbQLNMWS/kbRr+4AkqyB0H4n
 Nhddf8csa6aJeffov6T5aFDi6LoqI7gLyvcUMpV43M2iv4uFUeuU2C2UYvpoujwe
@@ -328906,6 +328970,7 @@ dJiau9ZxP0nA/VO3rUu1ZUiUVbY1z4bB+jncq6B6OFM1q3zS7wFhMw==
 dJiau9ZxP0kT5+9E8FCdJoXaf8wpupVeHcMfPY15Dq0=
 dJiau9ZxP0kT5+9E8FCdJjxczLRCfXes8WmDkrjzidbycGxQ0Lma/A==
 A1WlS3ceSjtJXBPRoHi6cIXaf8wpupVewzpwdqZ7Gd8=
+vov9j0LV8PKAEra3NgkcwD7Ob71hQtQ7SmARnfpRl/s=
 vov9j0LV8PL3zbT8Ft1fXjiuF2jdAWmEjxJI4cCSDfiIKNDpW6EWUg==
 sVYW4FT2Yo4XXnIaEKCRszxGVnWXY0BySmARnfpRl/s=
 f4Bsgs1TLUdvp3tsua2LnUoAxi7yEvkW
@@ -329388,6 +329453,7 @@ kllc8tyv9bF5u/G4VxJi0ud2A/LE9EN1SmARnfpRl/s=
 82f9wgqLueX+QWv0MFy6hxcAHV9M+iLvSmARnfpRl/s=
 82f9wgqLueU5n9Q+r0sex9FKqzxjyoR5SmARnfpRl/s=
 e8hP4ElHtAhZuYKRR0Jz/kBrMU/DrdfySmARnfpRl/s=
+ncbkCpDHMyGAPXqgNTRpEV/yLbW0IOQk5icrjXt54/s=
 ncbkCpDHMyGF2lmdJS//0ZPVwRtoHVWWARwJKbfn45Ungu/L7Iwfh0pgEZ36UZf7
 hmJujuXA7X+fMRwU4NZpIQFXYHXv5nTqB2AOY9Xn/IHDgzdnbRY10FhoUXcppkZT
 fGEN3/Tu0X6brZchc8u+Uok/IhOMoI16SmARnfpRl/s=
@@ -329611,6 +329677,8 @@ Z3bRApf2v+jewEZ/WnQEh9QTZqaOc8akAcS95SMo+KQtt5iHrl0PLiN/6gvrhkcI+pl91PbpjTs=
 Z3bRApf2v+gn858zG8annGnT39pB0PQziZHY9RhMmyr4NvnMIiIczO+KwevfqDFwSmARnfpRl/s=
 ZTGjBPfkhq83wNqh4XNmbafy6DlARNW5SmARnfpRl/s=
 GQZ2oxo9ZQ03wNqh4XNmbUdbdv04eRfaSmARnfpRl/s=
+zusBsmYl8YapK4dI1zxE/OMRdwzbd7mvUdz2mRR0CL6BepPmhTd0lTOdd2Mz/s0bBf3dJMo6Qzc=
+zusBsmYl8YapK4dI1zxE/OMRdwzbd7mvcl/bFXA1khnmN+niV2sxiqDLsjiQCy/QPSBZGt0GukCpPONB9YtSIJQrCTOMgWV0iJ2iFZzHLcjrizn1qbQELw==
 zusBsmYl8YbLdmAMHUiQ7bou2/RqF0ZI2WeRdF9JDVLGwcNZyo56aQ==
 1Ue+st4btF7yheuJr03teRaqNaoMM5h8S3jCho6HdXHGrF9vGSGld2Zlo2YDM2Vq
 5c6Sl4jNKBd7evUfK9UBFi9XWDmmUtiRSmARnfpRl/s=
@@ -338989,6 +339057,7 @@ AzHhCx2pWe6xCSsDoUf3LnyBqGX46M9oC0OVXqFv07UIJxsAH0zlQw==
 AzHhCx2pWe4m9DN1Meowmf+kd0Q0mRZxhnp0003SQBeInf7/EYbS4Q==
 AzHhCx2pWe4m9DN1Meowmf+kd0Q0mRZxrTUvconLgrOxx5MC6fUadVl/ts7CEXH9
 AzHhCx2pWe4m9DN1Meowmf+kd0Q0mRZxrTUvconLgrM5DXC19K7gJRX1oMFXMzytRdYbF3wvxZw=
+AzHhCx2pWe4m9DN1Meowmf+kd0Q0mRZxrTUvconLgrObgZgJF3EkUFp+sK498HoiJGbAnbNqwQc=
 AzHhCx2pWe4m9DN1Meowmf+kd0Q0mRZxaMGTPVpRw3t719WHiOXjAEpo7ie769wzyu6lLdW++NY=
 AzHhCx2pWe4m9DN1Meowmf+kd0Q0mRZxaMGTPVpRw3upIJrZGQxUbjEu/Z4Xe8FNsh0SX/zRpsIT/UMmbKCd5FnfWSFHexKtrvY+xPrn7n8gOSMVM4ii6w==
 AzHhCx2pWe4m9DN1MeowmVBCe8pR8YTRWn6wrj3weiJ+fZui4mYjXg==

+ 25 - 1
push-web/src/main/resources/static/pages/algorithm/list.html

@@ -92,9 +92,17 @@
         <form role="form">
             <div class="box-body">
                 <div class="form-group">
-                    <label for="symptom_id">症状</label>&nbsp;
+                    <label for="symptom_id">现病史</label>&nbsp;
                     <input type="text" id="symptom_id" placeholder="" size="150">&nbsp;&nbsp;&nbsp;&nbsp;
                 </div>
+                <div class="form-group">
+                    <label for="other_id">体征信息</label>&nbsp;
+                    <input type="text" id="vital_id" placeholder="" size="150">&nbsp;&nbsp;&nbsp;&nbsp;
+                </div>
+                <div class="form-group">
+                    <label for="other_id">既往史</label>&nbsp;
+                    <input type="text" id="past_id" placeholder="" size="150">&nbsp;&nbsp;&nbsp;&nbsp;
+                </div>
                 <div class="form-group">
                     <label for="other_id">其他史</label>&nbsp;
                     <input type="text" id="other_id" placeholder="" size="150">&nbsp;&nbsp;&nbsp;&nbsp;
@@ -398,6 +406,8 @@
                     d.resourceType = resourceType;
                     d.algorithmClassifyValue =  algorithmClassify;
                     var symptom = $("#symptom_id").val();
+                    var vital = $("#vital_id").val();
+                    var past = $("#past_id").val();
                     var other = $("#other_id").val();
                     var lis = $("#lis_id").val();
                     var pacs = $("#pacs_id").val();
@@ -412,6 +422,12 @@
                     if (symptom != null && symptom != undefined) {
                         d.symptom = symptom;
                     }
+                    if (vital != null && vital != undefined) {
+                        d.vital = vital;
+                    }
+                    if (past != null && past != undefined) {
+                        d.past = past;
+                    }
                     if (other != null && other != undefined) {
                         d.other = other;
                     }
@@ -500,6 +516,8 @@
                     d.resourceType = resourceType;
                     d.algorithmClassifyValue =  algorithmClassify;
                     var symptom = $("#symptom_id").val();
+                    var vital = $("#vital_id").val();
+                    var past = $("#past_id").val();
                     var other = $("#other_id").val();
                     var lis = $("#lis_id").val();
                     var pacs = $("#pacs_id").val();
@@ -514,6 +532,12 @@
                     if (symptom != null && symptom != undefined) {
                         d.symptom = symptom;
                     }
+                    if (vital != null && vital != undefined) {
+                        d.vital = vital;
+                    }
+                    if (past != null && past != undefined) {
+                        d.past = past;
+                    }
                     if (other != null && other != undefined) {
                         d.other = other;
                     }