DELL
2025-03-02 07ad569203fbf199aaf37f83dbee298f1adad5a9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Êþº¾4ž"com/battalarm/BattAlarm_Thread_Newjava/lang/ThreadBattAlarmParamTableNameLjava/lang/String; ConstantValue    tb_alarm_paramBattAlarmDataTableName tb_battalarm_dataDevAlarmDataTableName tb_dev_paramBattAlarmDataHistoryTableNametb_battalarm_data_historym_AppCfgLcom/config/AppConfig; m_Conn_PoolLcom/sql/MysqlConnPool;    m_AL_Data#Lcom/battdata_rt/BattData_RT_Array;m_AlarmParam_COELcom/battalarm/BattAlarmParam;<init>S(Lcom/config/AppConfig;Lcom/sql/MysqlConnPool;Lcom/battdata_rt/BattData_RT_Array;)VCode
  ()V    "     $ &com/battalarm/BattAlarmParam
%    )     + 
-/.com/sql/MysqlConnPool 01getConn()Ljava/sql/Connection;
3 45CreateBattAlarmParamTable(Ljava/sql/Connection;)V
798!com/battdata_rt/BattData_RT_Array :;getItem (I)Lcom/battdata_rt/BattData_RT;
= >?getBattAlarmParam5(Ljava/sql/Connection;Lcom/battdata_rt/BattData_RT;)V
7A BC getItemCount()I
E F5#createBattAlarmDataTable_IfNotExist
H IJ*createBattAlarmDataHistoryTable_IfNotExist(Lcom/sql/MysqlConnPool;)VLineNumberTableLocalVariableTablethis$Lcom/battalarm/BattAlarm_Thread_New;cfgcon_poolal_dataiI StackMapTableVcom/config/AppConfigXcom/sql/Sql_Mysql
WZ 5\
`db_param`
W^ _` sqlMysqlUseDB(Ljava/lang/String;)V
Wb cdsqlMysqlCheckIfTableExist(Ljava/lang/String;)Zf¢CREATE TABLE IF NOT EXISTS `tb_dev_param` (  `num` int(11) NOT NULL AUTO_INCREMENT,  `dev_Id` int(11) NOT NULL DEFAULT '91000000',  `alm_id` int(11) NOT NULL DEFAULT '119001',  `alm_name` varchar(64) NOT NULL DEFAULT 'Batt_Alarm_Type_',  `alm_high_coe` float NOT NULL DEFAULT '0.9',  `alm_low_coe` float NOT NULL DEFAULT '0.5',  `alm_high_level` int(11) NOT NULL DEFAULT '4',  `alm_low_level` int(11) NOT NULL DEFAULT '1',  `alm_high_en` int(11) NOT NULL DEFAULT '0',  `alm_low_en` int(11) NOT NULL DEFAULT '0',  `note` varchar(64) NOT NULL DEFAULT '',  PRIMARY KEY (`num`),  KEY `index_alm_id` (`alm_id`),  KEY `index_dev_id` (`dev_Id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Wh i`sqlMysqlExecute
kmljava/sql/SQLException n printStackTrace
Wp q     close_conconnLjava/sql/Connection;sqlLcom/sql/Sql_Mysql;sql_streLjava/sql/SQLException;zjava/sql/Connection|java/lang/Throwable~java/lang/StringBuilder€  SELECT num,dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,note FROM db_param.tb_dev_param  WHERE dev_Id = 
}‚ `    „†…com/battdata_rt/BattData_RT ‡S FBSDeviceId
}‰ Š‹append(I)Ljava/lang/StringBuilder;
} ŽtoString()Ljava/lang/String;
W‘ ’“ sqlMysqlQuery((Ljava/lang/String;)Ljava/sql/ResultSet;•alm_id —™˜java/sql/ResultSet š›getInt(Ljava/lang/String;)I    „ žm_BattAlarmParam    %  ¡¢ alm_OnlineVol-Lcom/battalarm/BattAlarmParam$AlarmParamCell;    %¤ ¥¢ alm_GroupVol    %§ ¨¢alm_BattChargeCurr    %ª «¢alm_BattDisChargeCurr    %­ ®¢
alm_MonVol    %° ±¢
alm_MonTmp    %³ ´¢
alm_MonRes    %¶ ·¢ alm_ConnRes    %¹ º¢alm_DischargeMonVol¼ alm_high_coe —¾ ¿ÀgetFloat(Ljava/lang/String;)F    ÂÄÃ+com/battalarm/BattAlarmParam$AlarmParamCell ÅÆalm_HighFÈ alm_low_coe    ÂÊ ËÆalm_LowÍalm_high_level    ÂÏ ÐSalm_High_LevelÒ alm_low_level    ÂÔ ÕS alm_Low_Level× alm_high_en —Ù Úd
getBoolean    ÂÜ ÝÞ alm_High_ENZà
alm_low_en    Ââ ãÞ
alm_Low_EN —å æçnext()ZéINSERT INTO db_param.tb_dev_param (dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en) VALUES (ë,
}í Šî-(Ljava/lang/String;)Ljava/lang/StringBuilder;ÐÙñ,'Batt_Alarm_Type_OnlineVol', 
}ó Šô(F)Ljava/lang/StringBuilder;ö, 
}ø Šù(Z)Ljava/lang/StringBuilder;û),ý(ÐÚ,'Batt_Alarm_Type_GroupVol', ÐÛ#,'Batt_Alarm_Type_BattChargeCurr', ÐÜ&,'Batt_Alarm_Type_BattDisChargeCurr', ÐÝ    ,'Batt_Alarm_Type_MonVol', ÐÞ ,'Batt_Alarm_Type_MonTmp', Ðß,'Batt_Alarm_Type_MonRes', Ðà,'Batt_Alarm_Type_ConnRes', Ðá$,'Batt_Alarm_Type_DisChargeMonVol', );battdataLcom/battdata_rt/BattData_RT;resLjava/sql/ResultSet;flagparampm_id java/lang/StringgetOrCreateBattAlarmParam    #%$java/lang/System &'outLjava/io/PrintStream;)-tb_alarm_param is not exist, create it now...
+-,java/io/PrintStream .`println0java/util/ArrayList
/3£CREATE TABLE `tb_alarm_param` ( `num` INT NOT NULL AUTO_INCREMENT, `alm_id` INT NOT NULL DEFAULT 0, `alm_name` VARCHAR(50) NOT NULL DEFAULT ' ', `alm_high_coe` FLOAT NOT NULL DEFAULT 0, `alm_low_coe` FLOAT NOT NULL DEFAULT 0, `alm_high_level` INT NOT NULL DEFAULT 0, `alm_low_level` INT NOT NULL DEFAULT 0, `alm_high_en` BOOLEAN NOT NULL DEFAULT false, `alm_low_en` BOOLEAN NOT NULL DEFAULT false, PRIMARY KEY (`num`));
/5 67add(Ljava/lang/Object;)Z9áINSERT INTO tb_alarm_param (alm_id, alm_name, alm_high_coe, alm_low_coe, alm_high_level, alm_low_level, alm_high_en, alm_low_en) VALUES (119001, 'Batt_Alarm_Type_OnlineVol', 1.2, 0.8, 2, 2, FALSE, FALSE), (119002, 'Batt_Alarm_Type_GroupVol', 1.2, 0.8, 2, 2, TRUE, TRUE), (119003, 'Batt_Alarm_Type_BattChargeCurr', 3, 0, 3, 3, TRUE, FALSE), (119004, 'Batt_Alarm_Type_BattDisChargeCurr', 3, 0, 3, 3, TRUE, FALSE), (119005, 'Batt_Alarm_Type_MonVol', 1.2, 0.8, 2, 2, TRUE, TRUE), (119006, 'Batt_Alarm_Type_MonTmp', 1.5, 0.5, 2, 2, TRUE, TRUE), (119007, 'Batt_Alarm_Type_MonRes', 2, 0.5, 2, 2, TRUE, TRUE), (119008, 'Batt_Alarm_Type_ConnRes', 2, 0.5, 2, 2, TRUE, TRUE), (119009, 'Batt_Alarm_Type_DisChargeMonVol', 1.2, 0.8, 2, 2, FALSE, TRUE)
/; <=get(I)Ljava/lang/Object;
/? @CsizeBSELECT * FROM tb_alarm_param    al_sqlstrLjava/util/ArrayList;nLocalVariableTypeTable)Ljava/util/ArrayList<Ljava/lang/String;>;I
`db_alarm`K0tb_battalarm_data is not exist, create it now...MvCREATE TABLE `tb_battalarm_data` ( `num` BIGINT NOT NULL AUTO_INCREMENT, `BattGroupId` INT NOT NULL DEFAULT 0, `MonNum` INT NOT NULL DEFAULT 0, `Record_Id` BIGINT NOT NULL DEFAULT 0, `alm_id` INT NOT NULL DEFAULT 0, `alm_signal_id` INT NOT NULL DEFAULT 0, `alm_level` INT NOT NULL DEFAULT 0, `alm_start_time` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', `alm_end_time` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', `alm_value` FLOAT NOT NULL DEFAULT 0, `alm_is_confirmed` BOOLEAN NOT NULL DEFAULT false, `alm_confirmed_time` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', `alm_cleared_type` INT NOT NULL DEFAULT 0, `usr_Id` INT NOT NULL DEFAULT 0, INDEX index_battgroup_id (`BattGroupId`), INDEX index_Record_Id (`Record_Id`), INDEX index_alm_id (`alm_id`), INDEX index_alm_start_time (`alm_start_time`), INDEX index_alm_cleared_type (`alm_cleared_type`), PRIMARY KEY (`num`));O’SELECT DATA_TYPE FROM information_schema.columns WHERE table_schema='db_alarm' AND table_name='tb_battalarm_data' AND column_name='alm_is_cleared'QintS    DATA_TYPE —U VW    getString&(Ljava/lang/String;)Ljava/lang/String;
Y Z toLowerCase
\ ]7equals_\ALTER TABLE tb_battalarm_data CHANGE alm_is_cleared alm_cleared_type INT NOT NULL DEFAULT 0;aAshow index from tb_battalarm_data where column_name='BattGroupId'cQALTER TABLE tb_battalarm_data ADD INDEX `index_battgroup_id` (`BattGroupId` ASC);eLALTER TABLE tb_battalarm_data ADD INDEX `index_Record_Id` (`Record_Id` ASC);gFALTER TABLE tb_battalarm_data ADD INDEX `index_alm_id` (`alm_id` ASC);iVALTER TABLE tb_battalarm_data ADD INDEX `index_alm_start_time` (`alm_start_time` ASC);kZALTER TABLE tb_battalarm_data ADD INDEX `index_alm_cleared_type` (`alm_cleared_type` ASC);m8tb_battalarm_data_history is not exist, create it now...o CREATE TABLE IF NOT EXISTS `tb_battalarm_data_history` (  `num` bigint(20) NOT NULL AUTO_INCREMENT,  `BattGroupId` int(11) NOT NULL DEFAULT '0',  `MonNum` int(11) NOT NULL DEFAULT '0',  `Record_Id` bigint(20) NOT NULL DEFAULT '0',  `alm_id` int(11) NOT NULL DEFAULT '0',  `alm_signal_id` int(11) NOT NULL DEFAULT '0',  `alm_level` int(11) NOT NULL DEFAULT '0',  `alm_start_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00',  `alm_end_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00',  `alm_value` float NOT NULL DEFAULT '0',  `alm_is_confirmed` tinyint(1) NOT NULL DEFAULT '0',  `alm_confirmed_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00',  `alm_cleared_type` int(11) NOT NULL DEFAULT '0',  `usr_Id` int(11) NOT NULL DEFAULT '0',  PRIMARY KEY (`num`),  KEY `index_battgroup_id` (`BattGroupId`),  KEY `index_Record_Id` (`Record_Id`),  KEY `index_alm_id` (`alm_id`),  KEY `index_alm_start_time` (`alm_start_time`),  KEY `index_alm_cleared_type` (`alm_cleared_type`)) ENGINE=InnoDB AUTO_INCREMENT=394 DEFAULT CHARSET=utf8;"insertOrUpdateBattAlarmDataToTable7(Lcom/sql/MysqlConnPool;Lcom/battalarm/BattAlarmData;)Vs
u vqcheckBattAlarmData    xzycom/battalarm/BattAlarmData {Salm_cleared_type}Ô INSERT INTO tb_battalarm_data (BattGroupId, MonNum, Record_Id, alm_id, alm_signal_id, alm_level, alm_start_time, alm_end_time, alm_value, alm_is_confirmed, alm_confirmed_time, alm_cleared_type, usr_Id)  VALUES (    x €S battgroup_id    x‚ ƒSmon_num    x… †‡    record_idJ
}‰ ŠŠ(J)Ljava/lang/StringBuilder;    xŒ •S    xŽ S alm_signal_id    x‘ ’Salm_signal_level”'    x– —˜alm_start_timeLjava/util/Date;šyyyy-MM-dd HH:mm:ss
œž com/base/Com Ÿ getDateTimeFormat6(Ljava/util/Date;Ljava/lang/String;)Ljava/lang/String;¢',     x¤ ¥˜ alm_end_time    x§ ¨Æ    alm_value    xª «Þalm_is_confirmed­java/util/Date
¬    x° ±Susr_id³)µ,UPDATE tb_battalarm_data SET  alm_end_time='· alm_cleared_type=¹ WHERE MonNum =» AND BattGroupId =½  AND alm_id =alm_dataLcom/battalarm/BattAlarmData;ÁOSELECT * FROM tb_battalarm_data WHERE alm_id NOT IN(119010,119011) AND MonNum =ÃD UPDATE tb_battalarm_data  SET alm_cleared_type = 1,  alm_end_time='Å' Ç0 WHERE alm_id NOT IN(119010,119011) AND MonNum =ɱINSERT INTO tb_battalarm_data_history(BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id) (SELECT BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id from tb_battalarm_data WHERE alm_id NOT IN(119010,119011) AND MonNum =ËMDELETE FROM tb_battalarm_data WHERE alm_id NOT IN(119010,119011) AND MonNum =
WÍ ÎÏmakeManualCommit(Ljava/util/ArrayList;)Zsql_str0sql_str1sql_str2sql_str3rssql_strsgetBattRtDataFromRamDBØ>SELECT * FROM `db_ram_db`.`tb_batt_rtstate` WHERE BattGroupId=    „Ú ÛS BattGroupId    „Ý ÞßTestDataLcom/battdata_rt/BattStatData;á
online_vol    ãåäcom/battdata_rt/BattStatData æÆ    onlineVolè    group_vol    ãê ëÆgroupVolí
group_curr    ãï ðÆtestCurrò
batt_state    ãô õö    battStateBø rec_datetime —ú ûü getTimestamp((Ljava/lang/String;)Ljava/sql/Timestamp;    ãþ ÿ˜
recordTime=SELECT * FROM `db_ram_db`.`tb_batt_rtdata` WHERE BattGroupId= ORDER BY mon_num ASCƒ    „ SMonCount    „     
D    al_MonVol com/battdata_rt/MonVolDatamon_vol      ÆmonVolmon_tmp      ÆmonTmpmon_res      ÆmonResrt_data
batt_indexmdLcom/battdata_rt/MonVolData;updateBattAlarm_Time"web_site$,UPDATE tb_process_survey SET ProcessTime = '&.' WHERE ProcessName = 'BMS_FBSDEV_ALARM_BATT' (!AND ServerName='BMS_FBSDEV_ALARM'    conn_poolclearHistoryAlarm_BattNew,< WHERE alm_cleared_type = 0 AND alm_id NOT IN(119010,119011).¾insert into tb_battalarm_data_history(BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id) (select BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id from tb_battalarm_data where alm_id NOT IN(119010,119011) AND alm_cleared_type = 1)0YDELETE FROM tb_battalarm_data WHERE alm_cleared_type = 1 AND alm_id NOT IN(119010,119011)updateBattAlarm_StartTime,(Lcom/sql/MysqlConnPool;Ljava/lang/String;)V42UPDATE tb_process_survey SET Process_starttime = '6,ProcessVersion = '8- WHERE ProcessName = 'BMS_FBSDEV_ALARM_BATT' versionsearchBattLastHistoryS(Lcom/sql/MysqlConnPool;Lcom/battalarm/BattAlarmData;)Lcom/battalarm/BattAlarmData;=> SELECT * FROM db_alarm.tb_battalarm_data WHERE BattGroupId = ? AND alm_id = A' AND alm_cleared_type = 1 AND MonNum = ÛDMonNumF    Record_Id —H IJgetLong(Ljava/lang/String;)JM    alm_level—¥¨«Salm_confirm_time    xU V˜alm_confirmed_Time{Yusr_Id    battalarmrun]V2.222
_ 12
a bgetName
d efvalueOf&(Ljava/lang/Object;)Ljava/lang/String;h  - BattAlarm_Thread Delayed For 
Uj kCgetBattAlarmClearedDelaym Seconds To Start...
Uo pCgetBattAlarmFnStartDelayè
t uvsleep(J)Vx - BattAlarm_Thread Started at 
„z {|initAlarmParam"(ILcom/battalarm/BattAlarmParam;)V
~  Jd
‚ Ö?
„„ …† makeAlarmData()Ljava/util/ArrayList;
ˆ pq
/Š ‹ clear
mŽjava/lang/InterruptedException
m‘java/lang/Exceptiondelay_time_countdtal_almcnt Ljava/lang/InterruptedException;e1Ljava/lang/Exception;4Ljava/util/ArrayList<Lcom/battalarm/BattAlarmData;>;
SourceFileBattAlarm_Thread_New.java InnerClassesAlarmParamCell!
      j*·*µ!*+µ!*,µ#*»%Y·'µ(*-µ***´#¶,¶26§**´#¶,*´*¶6¶<„*´*¶@¡ÿà*´#¶,¸D**´#·G±K6      "#$%#'.(4*H(W1a4i5L4jMNjOjPjQ1&RSTÿ4U-745+I»WY+·YM,[¶],¶aš+eN,-¶g§ N-¶j,Æ,¶o§:,Æ,¶o¿,Æ,¶o±     #k    (3KB>    @ABR U$V(X,Y3W5X9Y=[@XDYH\L4IMNIrs    @tuv$wxT>ÿ#yWkO{ÿ    yW{ÿyW>?¼
N»WY+·YN6»}Y·,´ƒ¶ˆ¶Œ:-¶:§”¹–6ªŸÐÙÐá3?KWco{‡“,´œ´Ÿ:§f,´œ´£:§Z,´œ´¦:§N,´œ´©:§B,´œ´¬:§6,´œ´¯:§*,´œ´²:§,´œ´µ:§,´œ´¸:§:ÆW»¹½µÁǹ½µÉ̹–µÎѹ–µÓֹصÛ߹صá6¹äšþîš»}Y跁,´ƒ¶ˆê¶ìﶈð¶ì,´œ´Ÿ´Á¶òõ¶ì,´œ´Ÿ´É¶òõ¶ì,´œ´Ÿ´Î¶ˆõ¶ì,´œ´Ÿ´Ó¶ˆõ¶ì,´œ´Ÿ´Û¶÷õ¶ì,´œ´Ÿ´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ìþ¶ˆÿ¶ì,´œ´£´Á¶òõ¶ì,´œ´£´É¶òõ¶ì,´œ´£´Î¶ˆõ¶ì,´œ´£´Ó¶ˆõ¶ì,´œ´£´Û¶÷õ¶ì,´œ´£´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ì¶ˆ¶ì,´œ´¦´Á¶òõ¶ì,´œ´¦´É¶òõ¶ì,´œ´¦´Î¶ˆõ¶ì,´œ´¦´Ó¶ˆõ¶ì,´œ´¦´Û¶÷õ¶ì,´œ´¦´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ì¶ˆ¶ì,´œ´©´Á¶òõ¶ì,´œ´©´É¶òõ¶ì,´œ´©´Î¶ˆõ¶ì,´œ´©´Ó¶ˆõ¶ì,´œ´©´Û¶÷õ¶ì,´œ´©´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ì¶ˆ¶ì,´œ´¬´Á¶òõ¶ì,´œ´¬´É¶òõ¶ì,´œ´¬´Î¶ˆõ¶ì,´œ´¬´Ó¶ˆõ¶ì,´œ´¬´Û¶÷õ¶ì,´œ´¬´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ì
¶ˆ ¶ì,´œ´¯´Á¶òõ¶ì,´œ´¯´É¶òõ¶ì,´œ´¯´Î¶ˆõ¶ì,´œ´¯´Ó¶ˆõ¶ì,´œ´¯´Û¶÷õ¶ì,´œ´¯´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ì ¶ˆ¶ì,´œ´²´Á¶òõ¶ì,´œ´²´É¶òõ¶ì,´œ´²´Î¶ˆõ¶ì,´œ´²´Ó¶ˆõ¶ì,´œ´²´Û¶÷õ¶ì,´œ´²´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ì¶ˆ¶ì,´œ´µ´Á¶òõ¶ì,´œ´µ´É¶òõ¶ì,´œ´µ´Î¶ˆõ¶ì,´œ´µ´Ó¶ˆõ¶ì,´œ´µ´Û¶÷õ¶ì,´œ´µ´á¶÷ú¶ìü¶ì,´ƒ¶ˆê¶ì¶ˆ¶ì,´œ´¸´Á¶òõ¶ì,´œ´¸´É¶òõ¶ì,´œ´¸´Î¶ˆõ¶ì,´œ´¸´Ó¶ˆõ¶ì,´œ´¸´Û¶÷õ¶ì,´œ´¸´á¶÷¶ì¶Œ:-¶g§":¶j-Æ-¶o§:    -Æ-¶o    ¿-Æ-¶o±    #&k    -8KÒ4e    i jlj!m)p,q7rltxu„vwœx¨y´zÀ{Ì|Ø}Ûàî‚üƒ
„…&†4ˆ7pAŠF‹OŽяXá‘j’ó“|”•Ž–‹˜#š(›-1ž8œ:>žB EIžM¡LÀNMNNrsN    Etu!v)ú Þu¢¢¢™¢¥¢±¢½¢É¢Õ¢Û\¢7S(wxT®ÿ,y„W—ÿ?    y„W— ÿ    y„W—ÂûXùÿîy„WkQ{ÿ    
y„W{ÿy„W!5À¡»WY+·YM,[¶],¶ašL²"(¶*»/Y·1:2N-¶4W8N-¶4W6§,¶:À¶g„¶>¡ÿèAN,-¶:§ ”¹–6ª ÐÙÐá4@LXdp|ˆ”*´(´Ÿ:§f*´(´£:§Z*´(´¦:§N*´(´©:§B*´(´¬:§6*´(´¯:§**´(´²:§*´(´µ:§*´(´¸:§:ÆW»¹½µÁǹ½µÉ̹–µÎѹ–µÓֹصÛ߹صá¹äšþð§:¶j,¶o§:,¶o¿,¶o±    ‚…k    Œ“K²,ª    ¯°²!³*µ.À5Â9Ø@ÚFÛTÚaÞeßlâoäzå°ç¼èÈéÔêàëììøíîïðò$ô2õ@öN÷\øjùxâ‚ü…ý‡þŒ“•™œ LÊ¡MN¡rs    ˜tu.3vevl*7CDCESzþS¹¢Å¢Ñ¢Ý¢é¢õ¢¢ ¢¢Y¢‡wxF *7CGTcÿFyW/ÿ    yWý —ü@ üÂùXÿ yWkM{    F5“§»WY*·YL+H¶]+ ¶aš²"J¶*LM+,¶g+N¶M,¹ä™P,R¹T¶X¶[š
+^¶g+`¶M,¹äš<+b¶g+d¶g+f¶g+h¶g+j¶g§M,¶j+¶o§N+¶o-¿+¶o±    Œk    ”›Kf     ""#&8+;3?<@QAXG`HiJpKwL~M…NŒRS”U›TœU V¢U¦WL4§rs    žtu&v3YwxT$ü+Wü,—ÿ6yWkK{IJK»WY+¶,·YM,H¶],¶aš-²"l¶*nN,-¶g§N-¶j,¶o§:,¶o¿,¶o± .1k 6=K:^ `ac%d)z.|2}6=~?C€FJL4KMNK ?tu)v2wxTÿ1-WkK{pqÁ»WY+¶,·YN-H¶]r:- ¶a™m*+,¶t,´wšâ»}Y|·,´~¶ˆõ¶ì,´¶ˆõ¶ì,´„¶ˆõ¶ì,´‹¶ˆõ¶ì,´¶ˆõ¶ì,´¶ˆõ¶ì“¶ì,´•™¸›¶ì¡¶ì“¶ì,´£™¸›¶ì¡¶ì,´¦¶òõ¶ì,´©¶÷õ¶ì“¶ì»¬Y·®™¸›¶ì¡¶ì,´w¶ˆõ¶ì,´¯¶ˆ²¶ì¶Œ:-¶g§,´w y»}Y´·,´£™¸›¶ì¡¶ì¶¶ì,´w¶ˆ¸¶ì,´¶ˆº¶ì,´~¶ˆ¼¶ì,´‹¶ˆ¶Œ:-¶g§:¶j-¶o§:-¶o¿-¶o± qtk {‚Kž'Š ŒŽ!’'”.—8¨D©Pª\«h¬t­€®™¯²°¾±Ê²æ³ò´ùµÿ—¶
· ¹º¼2½?¾fºk¿qÄvÅ{ǂƄLjɋǏÊL>MN¾¿ „tuYvvwxT'ý Wÿf-xWkM{vq S»}YÀ·,´¶ˆº¶ì,´~¶ˆ¼¶ì,´‹¶ˆ¶ŒN»}Y·»¬Y·®™¸›¶ìĶìƶì,´¶ˆº¶ì,´~¶ˆ¼¶ì,´‹¶ˆ¶Œ:»}YÈ·,´¶ˆº¶ì,´~¶ˆ¼¶ì,´‹¶ˆ²¶ì¶Œ:»}YÊ·,´¶ˆº¶ì,´~¶ˆ¼¶ì,´‹¶ˆ¶Œ:»WY+¶,·Y:H¶]-¶:¹ä™H»/Y·1:        ¶4W    ¶4W    ¶4W    ¶ÌW§:¶j¶o§:
¶o
¿¶o±î14kî;CKbÔ/Ø9ÚOÛvØ{ݱßáàîâöãþäçèé!ê)ë1ñ6ò;ôCóEôJõMôRöLp SMNSS¾¿/$Ð{ØÑ±¢ÒárÓîetuþ3Ô ÕD    6wxF  ÕG    T*ÿ4-xWkN{    Ö?G&»WY+·YN-»}Y×·,´Ù¶ˆ¶Œ¶:¹ä™Y,´Ü๽µâ,´Üç¹½µé,´Üì¹½µî,´Üñ¹–‘µó,´Ü÷¹ùµý-»}Y·,´Ù¶ˆ¶ì¶Œ¶:§Z¹–d6›G,´¢>,´¶:À : ¹½µ¹½µ¹½µ¹äšÿ¢§:¶j-¶o§:-¶o¿-¶o±    
k    Kvú    üýü#þ-ÿ>O`rƒŽž£¦    ´
Â Ð ß îý !%LR&MN&rs&    tu#ä´ISÐ- wxT+ýƒW—"ûVÿ y„WkM{     J ]»WY*¶,·YL+!¶]»}Y#·»¬Y·®™¸›¶ì%¶ì'¶ì¶ŒM+,¶g§M,¶j+¶o§N+¶o-¿+¶o± BEk JQK> - 3!9=#B$F%J'Q&R'V(X'\)L*]) Qtu=vFwxTÿE-WkK{    *JŽŒ»/Y·1L»}Y·»¬Y·®™¸›¶ìĶì+¶ì¶ŒM+,¶4W-N+-¶4W/:+¶4W»WY*¶,·Y:H¶]+¶ÌW§:¶j¶o§:¶o¿¶o±[jmk[t|KV.02(3.02486<7B9G:N;[=c>jBoCtE|D~EƒF†E‹GLHŒ)„ÕD2ZÑ<PÒGEÓ[1tuowxF „ÕGT$ÿm-/WkN{        128u»WY*¶,·YM,!¶]»}Y3·»¬Y·®™¸›¶ì“¶ì5¶ì+¶ì“¶ì7¶ì'¶ì¶ŒN,-¶g§N-¶j,¶o§:,¶o¿,¶o± X[k `gKFK MNO3PCQIRONSTXU\V`XgWiXmYpXtZL4u)u9 ituSv\wxTÿ[-WkK{    :;3+M»}Y<·+´~¶ˆ>¶ì+´‹¶ˆ@¶ì+´¶ˆ¶ŒN»WY*¶,·Y::-¶:¹ä™Ô,B¹–µ~,C¹–µ,E¹Gµ„,”¹–µ‹,K¹–µ,L¹–µ,N¹ùµ•,O¹ùµ£,P¹½µ¦,Q¹Øµ©,R¹ùµT,W¹–µw,X¹–µ¯§:¶j¶o§:¶o¿¶o,°A kAKnbc1d>eAgIhSiajok}lŠm˜n¦o´pÂqÐrÞsìtúuw xzyz!{$z)}LH+)+¾¿)Z¿1úv>ítuAêÔ wxT$ÿ -xxW—kN{    [ ™2*´#\¸^²"»}Y*¶`¸c·g¶ì*´!¶i¶ˆl¶ì¶Œ¶**´!¶n<=§ q¸s„¡ÿõ²"»}Y*¶`¸c·w¶ì»¬Y·®™¸›¶ì¶Œ¶*=§#*´*¶6*´!¶i*´*¶6´œ¶y„*´*¶@¡ÿØ=§_dpš*´#¸}¸s*´*¶6N**´#¶,-·-¶ƒ:6§**´#¶:Àx¶‡„¶>¡ÿ䶉„*´*¶@¡ÿœq¸s§ÿŽM,¶Œ§ÿ†L+¶±¯!$,,K†!„
†!‡4†7ˆ?ŠDŒJŠRi‘|“„—¡“¯ ´¢»£Â¤È¦Ñ§Ý¨ãªé«ûª­  °!±%²)š,µ-¶1¸Lf
2MN?í’SA“S.ES±jESÑ<ã*”Dæ"•S%w–-—˜F ã*”™T; ýD6ú
üþ „/øÿÿš›œ
Â%