fix协议封装挑战-数据有效性校验
  TEZNKK3IfmPf 2023年11月15日 26 0

数据校验要校验每个字段还有头和尾。

校验包过数据类型校验,特殊值校验。

数据类型校验统一写,特殊值校验写在每个消息实体里。

数据校验采用递归的方式,减少代码编写难度。

Tag类(类型校验没写完,有些特殊类型暂时没写):

 

 cs.mina.codec.msg;

 java.util.HashSet;
 java.util.Set;

 cs.mina.exception.InValidDataException;


 
 
 
   {
    tagId;
    tagValue;
    format;
    must;
  
     isTagIdInThisObject( tagId){
    (tagId.equals(.tagId)){
       ;
    } {
       ;
    }
  }
  
    encode(){
    (tagValue){
       ;
    }
     .tagId.tagValueBaseMsg.SOH;
  }
  
    decode( input,Set already){
     myIteminput.substring(, input.indexOf(BaseMsg.SOH));
     returnStrinput.substring(input.indexOf(BaseMsg.SOH));
     [] tagItemsmyItem.split();
    (tagItems.length){
        InValidDataException();
    }
    (already.contains(tagId)){
        InValidDataException(tagId);
    }
    (.getTagId().equals(tagItems[])){
      .tagValuetagItems[];
      already.add(tagItems[]);
       returnStr;
    }{
        InValidDataException(tagIdtagItems[]);
    }
  }
  
   Tag( tagId, format, must){
    .tagIdtagId;
    .formatformat;
    .mustmust;
  }
  
    validate(){
    (must){
      (tagValue){
          InValidDataException(tagId);
      }{
        (format){
            InValidDataException();
        }{
          (format.equals()){
            {
              .parseInt(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            {
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              (tagValue.startsWith()){
                  InValidDataException(tagIdtagValue);
              }
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
               value.parseInt(tagValue);
              ((valuevalue)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            (tagValue.equals(BaseMsg.SOH)){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            (tagValue.length()tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            ((tagValue.equals()tagValue.equals())){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
             indextagValue.indexOf(BaseMsg.SOH);
            (index){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
             indextagValue.indexOf(BaseMsg.SOH);
            (index){
                InValidDataException(tagIdtagValue);
            }
            [] valueArraytagValue.split();
            ( i;ivalueArray.length;i){
               valuevalueArray[i];
              (value.length()){
                  InValidDataException(tagIdtagValue);
              }
            }
          } (format.equals()){
             indextagValue.indexOf(BaseMsg.SOH);
            (index){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){    
            
          } (format.equals()){    
             ((tagValue.length()tagValue.length())){
                 InValidDataException(tagIdtagValue);
             }
              yeartagValue.substring(, );
              monthtagValue.substring(, );
             (tagValue.length()){
                weekOrDaytagValue.substring(, );
               {
                 y .parseInt(year);
                (y){
                    InValidDataException(tagIdtagValue);
                }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
               {
                  mon .parseInt(month);
                 ((monmon)){
                     InValidDataException(tagIdtagValue);
                 }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
               (weekOrDay.startsWith()){
                 {
                   week .parseInt(weekOrDay.substring());
                  ((weekweek)){
                      InValidDataException(tagIdtagValue);
                  }
                 }(Exception e){
                     InValidDataException(tagIdtagValue);
                 }
               }{
                 {
                    day.parseInt(weekOrDay);
                   ((dayday)){
                       InValidDataException(tagIdtagValue);
                   }
                 }(Exception e){
                     InValidDataException(tagIdtagValue);
                 }
               }
               
             }{
               {
                  y .parseInt(year);
                  (y){
                      InValidDataException(tagIdtagValue);
                  }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
               {
                  mon .parseInt(month);
                 ((monmon)){
                     InValidDataException(tagIdtagValue);
                 }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
              
             }
          } (format.equals()){
            (tagValue.length()){
               yearStrtagValue.substring(, );
               monthStrtagValue.substring(, );
               dayStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               hourStrtagValue.substring(, );
               seperaotr2tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator3tagValue.substring(, );
               secondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperaotr2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator3.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 year.parseInt(yearStr);
                (year){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 month.parseInt(monthStr);
                ((monthmonth)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 day.parseInt(dayStr);
                ((dayday)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              
            } (tagValue.length()){
               yearStrtagValue.substring(, );
               monthStrtagValue.substring(, );
               dayStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               hourStrtagValue.substring(, );
               seperaotr2tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator3tagValue.substring(, );
               secondStrtagValue.substring(, );
               seperater4tagValue.substring(, );
               miliSecondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperaotr2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator3.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperater4.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 year.parseInt(yearStr);
                (year){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 month.parseInt(monthStr);
                ((monthmonth)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 day.parseInt(dayStr);
                ((dayday)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 miliSecond.parseInt(miliSecondStr);
                (miliSecond){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              
            }{
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
               hourStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator2tagValue.substring(, );
               secondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               hourStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator2tagValue.substring(, );
               secondStrtagValue.substring(, );
               seperator3tagValue.substring(,);
               milliSecondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator3.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 milliSecond.parseInt(milliSecondStr);
                (milliSecond){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            }{
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
             yearStrtagValue.substring(, );
             monthStrtagValue.substring(, );
             dayStrtagValue.substring(, );
            {
               year.parseInt(yearStr);
              (year){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               month.parseInt(monthStr);
              ((monthmonth)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               day.parseInt(dayStr);
              ((dayday)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
             yearStrtagValue.substring(, );
             monthStrtagValue.substring(, );
             dayStrtagValue.substring(, );
            {
               year.parseInt(yearStr);
              (year){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               month.parseInt(monthStr);
              ((monthmonth)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               day.parseInt(dayStr);
              ((dayday)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
               hourStrtagValue.substring(, );
               seperate1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               ZtagValue.substring(, );
              (seperate1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (Z.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              
            } (tagValue.length()){
               hourStrtagValue.substring(, );
               seperate1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperate2tagValue.substring(,);
               secondStrtagValue.substring(, );
               ZtagValue.substring(, );
              (seperate1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (Z.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperate2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               hourStrtagValue.substring(, );
               seperate1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperate2tagValue.substring(,);
               offsetHourStrtagValue.substring(, );
              
              (seperate1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              
              ((seperate2.equals()seperate2.equals())){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               seperator1tagValue.substring(, );
               hourStrtagValue.substring(,);
               seperator2tagValue.substring(, );
               minuteStrtagValue.substring(, );
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              (seperator1.equals()){
                 secondStrtagValue.substring(, );
                 seperator3tagValue.substring(,);
                 offsetHourStrtagValue.substring(, );
                ((seperator3.equals()seperator3.equals())){
                    InValidDataException(tagIdtagValue);
                }
                {
                   second.parseInt(secondStr);
                  ((secondsecond)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
                {
                   offsetHour.parseInt(offsetHourStr);
                  ((offsetHouroffsetHour)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
              } (seperator1.equals()seperator1.equals()){
                 offsetHourStrtagValue.substring(,);
                 seperator3tagValue.substring(, );
                 offsetMinuteStrtagValue.substring(, );
                (seperator3.equals()){
                    InValidDataException(tagIdtagValue);
                }
                {
                   offsetHour.parseInt(offsetHourStr);
                  ((offsetHouroffsetHour)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
                {
                   offsetMinute.parseInt(offsetMinuteStr);
                  ((offsetMinuteoffsetMinute)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
              }{
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               hourStrtagValue.substring(,);
               seperator1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator2tagValue.substring(, );
               secondStrtagValue.substring(, );
               seperator3tagValue.substring(,);
               offsetHourStrtagValue.substring(, );
               seperator4tagValue.substring(, );
               offsetMinuteStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              ((seperator3.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              (seperator4.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetMinute.parseInt(offsetMinuteStr);
                ((offsetMinuteoffsetMinute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } {
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
             yearStrtagValue.substring(, );
             monthStrtagValue.substring(, );
             dayStrtagValue.substring(, );
             seperator1tagValue.substring(, );
             hourStrtagValue.substring(, );
             seperator2tagValue.substring(, );
             minuteStrtagValue.substring(, );
            (seperator1.equals()){
                InValidDataException(tagIdtagValue);
            }
            (seperator2.equals()){
                InValidDataException(tagIdtagValue);
            }
            {
               year.parseInt(yearStr);
              (year){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               month.parseInt(monthStr);
              ((monthmonth)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               day.parseInt(dayStr);
              ((dayday)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               hour.parseInt(hourStr);
              ((hourhour)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               minute.parseInt(minuteStr);
              ((minuteminute)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            
            (tagValue.length()){
               ZtagValue.substring(, );
              (Z.equals()){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               seperator3tagValue.substring(, );
               offsetHourStrtagValue.substring(, );
              ((seperator3.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               seperator3tagValue.substring(, );
               offsetHourStrtagValue.substring(, );
               seperator4tagValue.substring(, );
               offsetMinuteStrtagValue.substring(, );
              ((seperator3.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              ((seperator4.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetMinute.parseInt(offsetMinuteStr);
                ((offsetMinuteoffsetMinute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } {
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          }{
              InValidDataException(tagIdtagValueformat);
          }
        }
      }
    }{
      (tagValue){
        (format){
            InValidDataException();
        }{
          (format.equals()){
            {
              .parseInt(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            {
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              (tagValue.startsWith()){
                  InValidDataException(tagIdtagValue);
              }
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
               value.parseInt(tagValue);
              (value){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
               value.parseInt(tagValue);
              ((valuevalue)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            {
              .parseFloat(tagValue);
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            (tagValue.equals(BaseMsg.SOH)){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            (tagValue.length()tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            ((tagValue.equals()tagValue.equals())){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
             indextagValue.indexOf(BaseMsg.SOH);
            (index){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
             indextagValue.indexOf(BaseMsg.SOH);
            (index){
                InValidDataException(tagIdtagValue);
            }
            [] valueArraytagValue.split();
            ( i;ivalueArray.length;i){
               valuevalueArray[i];
              (value.length()){
                  InValidDataException(tagIdtagValue);
              }
            }
          } (format.equals()){
             indextagValue.indexOf(BaseMsg.SOH);
            (index){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
            
          } (format.equals()){    
            
          } (format.equals()){    
             ((tagValue.length()tagValue.length())){
                 InValidDataException(tagIdtagValue);
             }
              yeartagValue.substring(, );
              monthtagValue.substring(, );
             (tagValue.length()){
                weekOrDaytagValue.substring(, );
               {
                 y .parseInt(year);
                (y){
                    InValidDataException(tagIdtagValue);
                }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
               {
                  mon .parseInt(month);
                 ((monmon)){
                     InValidDataException(tagIdtagValue);
                 }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
               (weekOrDay.startsWith()){
                 {
                   week .parseInt(weekOrDay.substring());
                  ((weekweek)){
                      InValidDataException(tagIdtagValue);
                  }
                 }(Exception e){
                     InValidDataException(tagIdtagValue);
                 }
               }{
                 {
                    day.parseInt(weekOrDay);
                   ((dayday)){
                       InValidDataException(tagIdtagValue);
                   }
                 }(Exception e){
                     InValidDataException(tagIdtagValue);
                 }
               }
               
             }{
               {
                  y .parseInt(year);
                  (y){
                      InValidDataException(tagIdtagValue);
                  }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
               {
                  mon .parseInt(month);
                 ((monmon)){
                     InValidDataException(tagIdtagValue);
                 }
               }(Exception e){
                   InValidDataException(tagIdtagValue);
               }
              
             }
          } (format.equals()){
            (tagValue.length()){
               yearStrtagValue.substring(, );
               monthStrtagValue.substring(, );
               dayStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               hourStrtagValue.substring(, );
               seperaotr2tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator3tagValue.substring(, );
               secondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperaotr2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator3.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 year.parseInt(yearStr);
                (year){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 month.parseInt(monthStr);
                ((monthmonth)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 day.parseInt(dayStr);
                ((dayday)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              
            } (tagValue.length()){
               yearStrtagValue.substring(, );
               monthStrtagValue.substring(, );
               dayStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               hourStrtagValue.substring(, );
               seperaotr2tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator3tagValue.substring(, );
               secondStrtagValue.substring(, );
               seperater4tagValue.substring(, );
               miliSecondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperaotr2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator3.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperater4.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 year.parseInt(yearStr);
                (year){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 month.parseInt(monthStr);
                ((monthmonth)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 day.parseInt(dayStr);
                ((dayday)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 miliSecond.parseInt(miliSecondStr);
                (miliSecond){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              
            }{
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
               hourStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator2tagValue.substring(, );
               secondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               hourStrtagValue.substring(, );
               seperator1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator2tagValue.substring(, );
               secondStrtagValue.substring(, );
               seperator3tagValue.substring(,);
               milliSecondStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator3.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 milliSecond.parseInt(milliSecondStr);
                (milliSecond){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            }{
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
             yearStrtagValue.substring(, );
             monthStrtagValue.substring(, );
             dayStrtagValue.substring(, );
            {
               year.parseInt(yearStr);
              (year){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               month.parseInt(monthStr);
              ((monthmonth)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               day.parseInt(dayStr);
              ((dayday)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
             yearStrtagValue.substring(, );
             monthStrtagValue.substring(, );
             dayStrtagValue.substring(, );
            {
               year.parseInt(yearStr);
              (year){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               month.parseInt(monthStr);
              ((monthmonth)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               day.parseInt(dayStr);
              ((dayday)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
               hourStrtagValue.substring(, );
               seperate1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               ZtagValue.substring(, );
              (seperate1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (Z.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              
            } (tagValue.length()){
               hourStrtagValue.substring(, );
               seperate1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperate2tagValue.substring(,);
               secondStrtagValue.substring(, );
               ZtagValue.substring(, );
              (seperate1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (Z.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperate2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               hourStrtagValue.substring(, );
               seperate1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperate2tagValue.substring(,);
               offsetHourStrtagValue.substring(, );
              
              (seperate1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              
              ((seperate2.equals()seperate2.equals())){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               seperator1tagValue.substring(, );
               hourStrtagValue.substring(,);
               seperator2tagValue.substring(, );
               minuteStrtagValue.substring(, );
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              (seperator1.equals()){
                 secondStrtagValue.substring(, );
                 seperator3tagValue.substring(,);
                 offsetHourStrtagValue.substring(, );
                ((seperator3.equals()seperator3.equals())){
                    InValidDataException(tagIdtagValue);
                }
                {
                   second.parseInt(secondStr);
                  ((secondsecond)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
                {
                   offsetHour.parseInt(offsetHourStr);
                  ((offsetHouroffsetHour)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
              } (seperator1.equals()seperator1.equals()){
                 offsetHourStrtagValue.substring(,);
                 seperator3tagValue.substring(, );
                 offsetMinuteStrtagValue.substring(, );
                (seperator3.equals()){
                    InValidDataException(tagIdtagValue);
                }
                {
                   offsetHour.parseInt(offsetHourStr);
                  ((offsetHouroffsetHour)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
                {
                   offsetMinute.parseInt(offsetMinuteStr);
                  ((offsetMinuteoffsetMinute)){
                      InValidDataException(tagIdtagValue);
                  }
                }(Exception e){
                    InValidDataException(tagIdtagValue);
                }
              }{
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               hourStrtagValue.substring(,);
               seperator1tagValue.substring(, );
               minuteStrtagValue.substring(, );
               seperator2tagValue.substring(, );
               secondStrtagValue.substring(, );
               seperator3tagValue.substring(,);
               offsetHourStrtagValue.substring(, );
               seperator4tagValue.substring(, );
               offsetMinuteStrtagValue.substring(, );
              (seperator1.equals()){
                  InValidDataException(tagIdtagValue);
              }
              (seperator2.equals()){
                  InValidDataException(tagIdtagValue);
              }
              ((seperator3.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              (seperator4.equals()){
                  InValidDataException(tagIdtagValue);
              }
              {
                 hour.parseInt(hourStr);
                ((hourhour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 minute.parseInt(minuteStr);
                ((minuteminute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 second.parseInt(secondStr);
                ((secondsecond)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetMinute.parseInt(offsetMinuteStr);
                ((offsetMinuteoffsetMinute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } {
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            (tagValue.length()){
                InValidDataException(tagIdtagValue);
            }
             yearStrtagValue.substring(, );
             monthStrtagValue.substring(, );
             dayStrtagValue.substring(, );
             seperator1tagValue.substring(, );
             hourStrtagValue.substring(, );
             seperator2tagValue.substring(, );
             minuteStrtagValue.substring(, );
            (seperator1.equals()){
                InValidDataException(tagIdtagValue);
            }
            (seperator2.equals()){
                InValidDataException(tagIdtagValue);
            }
            {
               year.parseInt(yearStr);
              (year){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               month.parseInt(monthStr);
              ((monthmonth)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               day.parseInt(dayStr);
              ((dayday)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               hour.parseInt(hourStr);
              ((hourhour)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            {
               minute.parseInt(minuteStr);
              ((minuteminute)){
                  InValidDataException(tagIdtagValue);
              }
            }(Exception e){
                InValidDataException(tagIdtagValue);
            }
            
            (tagValue.length()){
               ZtagValue.substring(, );
              (Z.equals()){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               seperator3tagValue.substring(, );
               offsetHourStrtagValue.substring(, );
              ((seperator3.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } (tagValue.length()){
               seperator3tagValue.substring(, );
               offsetHourStrtagValue.substring(, );
               seperator4tagValue.substring(, );
               offsetMinuteStrtagValue.substring(, );
              ((seperator3.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              ((seperator4.equals()seperator3.equals())){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetHour.parseInt(offsetHourStr);
                ((offsetHouroffsetHour)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
              {
                 offsetMinute.parseInt(offsetMinuteStr);
                ((offsetMinuteoffsetMinute)){
                    InValidDataException(tagIdtagValue);
                }
              }(Exception e){
                  InValidDataException(tagIdtagValue);
              }
            } {
                InValidDataException(tagIdtagValue);
            }
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          } (format.equals()){
            
          }{
              InValidDataException(tagIdtagValueformat);
          }
        }
      }
      
    }
  }
  
    getTagId() {
     tagId;
  }

    setTagId( tagId) {
    .tagId  tagId;
  }

    getTagValue() {
     tagValue;
  }

    setTagValue( tagValue) {
    .tagValue  tagValue;
  }

    getFormat() {
     format;
  }

    setFormat( format) {
    .format  format;
  }

    isMust() {
     must;
  }

    setMust( must) {
    .must  must;
  }

}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月12日   52   0   0 命令git
  TEZNKK3IfmPf   2024年04月19日   61   0   0 git部署
  TEZNKK3IfmPf   2024年04月26日   39   0   0 gitgithub
TEZNKK3IfmPf