Forráskód Böngészése

delete Core Message from UC

alqindiirsyam 9 hónapja
szülő
commit
fa9d156ad3

+ 0 - 2515
appbuilder-ios/NexilisUC/NexilisUC/Source/Message/CoreMessage_TMessageBank.swift

@@ -1,2515 +0,0 @@
-//
-//  CoreMessage_TMessageBank.swift
-//  NexilisUC
-//
-//  Created by Maronakins on 04/11/24.
-//
-
-import Foundation
-
-public class CoreMessage_TMessageBank {
-    
-    public static func endCall(pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.END_CALL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = pin
-        return tmessage
-    }
-    
-    public static func checkCallStatus(pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.ASKING_FOR_END_CALL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = pin
-        return tmessage
-    }
-    
-    public static func getSignUpApi(api: String, p_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SIGN_UP_API
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.API] = api
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_APP_NAME] = UCUtils.getAppNm()
-        tmessage.mBodies[CoreMessage_TMessageKey.CPAAS_VERSION] = UCUtils.CPAAS_VERSION
-        tmessage.mPIN = p_pin
-        return tmessage
-    }
-    
-    public static func getSignIn(p_name: String, p_password: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_SIGNIN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = p_name
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = p_password
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_ID] = UCUtils.M_USER_ANDROID_ID
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_APP_NAME] = UCUtils.getAppNm()
-        tmessage.mBodies[CoreMessage_TMessageKey.CPAAS_VERSION] = UCUtils.CPAAS_VERSION
-//        tmessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = "74"
-        return tmessage
-    }
-    
-    public static func getChangeConnectionID(p_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_CONNECTION_ID
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        return tmessage
-    }
-    
-    public static func getPostRegistration(p_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.POST_REGISTRATION_IOS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        return tmessage
-    }
-    
-    public static func getBatchBuddiesInfos(p_f_pin: String, last_update: Int, l_pin: String? = nil) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_BATCH_BUDDY_INFO
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.LAST_UPDATE] = "\(last_update)"
-        if(l_pin != nil){
-            tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        }
-        return tmessage
-    }
-    
-    public static func getSendSignup(p_pin: String, p_name: String, p_last_name: String, p_msisdn: String, p_card_type: String, p_card_id: String, p_email: String, p_thumb_id: String, flag: String, imei: String, imsi: String,password:String) -> TMessage {
-        // flag 0 = register biasa, 1 = dengan google, 2 = dengan facebook
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.SEND_SIGNUP_DATA
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = p_pin
-        tMessage.mBodies[CoreMessage_TMessageKey.FIRST_NAME] =         p_name
-        tMessage.mBodies[CoreMessage_TMessageKey.LAST_NAME] = p_last_name
-        tMessage.mBodies[CoreMessage_TMessageKey.MSISDN] =     p_msisdn
-        tMessage.mBodies[CoreMessage_TMessageKey.CARD_TYPE] =     p_card_type
-        tMessage.mBodies[CoreMessage_TMessageKey.CARD_ID] =     p_card_id
-        tMessage.mBodies[CoreMessage_TMessageKey.EMAIL] =     p_email
-        tMessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] =     p_thumb_id
-//        tMessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = "74"
-        tMessage.mBodies[CoreMessage_TMessageKey.TYPE_REGISTER] = flag
-        tMessage.mBodies[CoreMessage_TMessageKey.IMEI] = imei
-        tMessage.mBodies[CoreMessage_TMessageKey.IMSI] = imsi
-        tMessage.mBodies[CoreMessage_TMessageKey.PSWD] = password
-        return tMessage
-    }
-    
-    public static func getSendSignupOTP(p_pin: String, p_name: String, p_last_name: String, p_msisdn: String, p_card_type: String, p_card_id: String, p_email: String, p_thumb_id: String, flag: String, imei: String, imsi: String,password:String) -> TMessage {
-        // flag 0 = register biasa, 1 = dengan google, 2 = dengan facebook
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.SEND_SIGNUP_OTP
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = p_pin
-        tMessage.mBodies[CoreMessage_TMessageKey.FIRST_NAME] =         p_name
-        tMessage.mBodies[CoreMessage_TMessageKey.LAST_NAME] = p_last_name
-        tMessage.mBodies[CoreMessage_TMessageKey.MSISDN] =     p_msisdn
-        tMessage.mBodies[CoreMessage_TMessageKey.CARD_TYPE] =     p_card_type
-        tMessage.mBodies[CoreMessage_TMessageKey.CARD_ID] =     p_card_id
-        tMessage.mBodies[CoreMessage_TMessageKey.EMAIL] =     p_email
-        tMessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] =     p_thumb_id
-//        tMessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = "74"
-        tMessage.mBodies[CoreMessage_TMessageKey.TYPE_REGISTER] = flag
-        tMessage.mBodies[CoreMessage_TMessageKey.IMEI] = imei
-        tMessage.mBodies[CoreMessage_TMessageKey.IMSI] = imsi
-        tMessage.mBodies[CoreMessage_TMessageKey.PSWD] = password
-        return tMessage
-    }
-    
-    public static func getAddBuddy(p_f_pin: String, p_l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.ADD_BUDDY
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = p_l_pin
-        return tmessage
-    }
-    
-    public static func pullChannelList(offset: String, filter_account: String, filter_category: String, search: String, shr: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.PULL_CHANNEL_LIST
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.OFFSET] = offset
-        tmessage.mBodies[CoreMessage_TMessageKey.FILTER_ACCOUNT] = filter_account
-        tmessage.mBodies[CoreMessage_TMessageKey.FILTER_CATEGORY] = filter_category
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = search
-        tmessage.mBodies[CoreMessage_TMessageKey.SHARING_FLAG] = shr
-        return tmessage
-    }
-    
-    public static func sendMessage(message_id: String = "", l_pin: String, message_scope_id: String, status: String, message_text: String, credential: String, attachment_flag: String, ex_blog_id: String, message_large_text: String, ex_format: String, image_id: String, audio_id: String, video_id: String, file_id: String, thumb_id: String, reff_id: String, read_receipts: String, chat_id: String, is_call_center: String, call_center_id: String, opposite_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_CHAT
-        tmessage.mStatus = me + CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mL_PIN = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_ID] = message_id.isEmpty ? me + CoreMessage_TMessageUtil.getTID() : message_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.SERVER_DATE] = String(Date().currentTimeMillis())
-        tmessage.mBodies[CoreMessage_TMessageKey.LOCAL_TIMESTAMP] = String(Date().currentTimeMillis())
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_SCOPE_ID] = message_scope_id
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = status
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = message_text.toStupidString()
-        tmessage.mBodies[CoreMessage_TMessageKey.CREDENTIAL] = credential
-        tmessage.mBodies[CoreMessage_TMessageKey.ATTACHMENT_FLAG] = attachment_flag
-        tmessage.mBodies[CoreMessage_TMessageKey.BLOG_ID] = ex_blog_id
-        tmessage.mBodies[CoreMessage_TMessageKey.BODY] = message_large_text
-        tmessage.mBodies[CoreMessage_TMessageKey.CONNECTED] = "1"
-        tmessage.mBodies[CoreMessage_TMessageKey.FORMAT] = ex_format
-        tmessage.mBodies[CoreMessage_TMessageKey.IS_CALL_CENTER] = is_call_center
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = call_center_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_USER_ID] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.QUANTITY] = "1"
-        if !opposite_pin.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.OPPOSITE_PIN] = opposite_pin
-        }
-        
-        if !image_id.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.IMAGE_ID] = image_id
-        }
-        if !audio_id.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.AUDIO_ID] = audio_id
-        }
-        if !video_id.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.VIDEO_ID] = video_id
-        }
-        if !file_id.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        }
-        if !thumb_id.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        }
-        if !reff_id.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.REF_ID] = reff_id
-        }
-        tmessage.mBodies[CoreMessage_TMessageKey.READ_RECEIPTS] = read_receipts
-        if !chat_id.isEmpty {
-            tmessage.mBodies[CoreMessage_TMessageKey.CHAT_ID] = chat_id
-        }
-        return tmessage
-    }
-    
-    public static func getUpdateRead(p_chat_id: String, p_f_pin: String, p_scope_id: String, qty: Int) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_UPDATE_READ
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHAT_ID] = p_chat_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_SCOPE_ID] = p_scope_id
-        tmessage.mBodies[CoreMessage_TMessageKey.QUANTITY] = "\(qty)"
-        return tmessage
-    }
-    
-    public static func getUploadFile(p_image_id: String, file_size: String, part_of: String, part_size: String, p_file: [UInt8] ) -> TMessage {
-        var me: String = ""
-        if UserDefaults.standard.string(forKey: "me") != nil {
-            me = UserDefaults.standard.string(forKey: "me")!
-        }
-        //        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPLOAD_FILE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_UPLOAD] = p_image_id
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_SIZE] = file_size
-        tmessage.mBodies[CoreMessage_TMessageKey.PART_OF] = part_of
-        tmessage.mBodies[CoreMessage_TMessageKey.PART_SIZE] = part_size
-        tmessage.setMedia(media: p_file)
-        return tmessage
-    }
-    
-    public static func getAcknowledgment(p_id: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.ACKNOWLEDGMENT
-        tmessage.mStatus = p_id
-        tmessage.mPIN = "-1"
-        tmessage.mBodies[CoreMessage_TMessageKey._ID] = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_ID] = p_id
-        return tmessage
-    }
-    
-    public static func getCreateGroup(p_group_id: String, p_group_name: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CREATE_GROUP
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = p_group_id
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_NAME] = p_group_name
-        return tmessage
-    }
-    
-    public static func getCreateChat(chat_id: String, title: String, group_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CREATE_CHAT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHAT_ID] = chat_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = group_id
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = ""
-        tmessage.mBodies[CoreMessage_TMessageKey.SCOPE_ID] = "4"
-        return tmessage
-    }
-    
-    public static func getDeleteChat(chat_id: String, f_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.DELETE_CHAT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHAT_ID] = chat_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.SCOPE_ID] = "4"
-        return tmessage
-    }
-    
-    public static func getUpdateChat(p_chat_id: String, p_f_pin: String, p_title: String, p_anonym: String, p_image: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPDATE_CHAT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHAT_ID] = p_chat_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.SCOPE_ID] = "4"
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = p_title
-        tmessage.mBodies[CoreMessage_TMessageKey.ANONYMOUS] = p_anonym
-        tmessage.mBodies[CoreMessage_TMessageKey.IMAGE] = p_image
-        return tmessage
-    }
-    
-    public static func getAddGroupMember(p_group_id: String, p_member_pin: String, p_position: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.ADD_MEMBER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = p_group_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_member_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.POSITION] = p_position
-        return tmessage
-    }
-    
-    public static func getAddChatMember(groupId: String, chatId: String, pin: String, status: String = "1") -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.JOIN_CHAT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = groupId
-        tmessage.mBodies[CoreMessage_TMessageKey.CHAT_ID] = chatId
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = pin
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = status
-        return tmessage
-    }
-    
-    public static func getChangeGroupMemberPosition(p_group_id: String, p_pin: String, p_position: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_GROUP_MEMBER_POSITION
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = p_group_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.POSITION] = p_position
-        return tmessage
-    }
-    
-    public static func getExitGroup(p_group_id: String, p_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.EXIT_GROUP
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = p_group_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        return tmessage
-    }
-    
-    public static func getChangeGroupInfo(p_group_id: String, p_name: String = "", p_open: String? = nil, p_thumb_id: String = "", p_quote: String = "") -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_GROUP_INFO
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = p_group_id
-        if !p_name.isEmpty { tmessage.mBodies[CoreMessage_TMessageKey.GROUP_NAME] = p_name }
-        if p_open != nil { tmessage.mBodies[CoreMessage_TMessageKey.IS_OPEN] = p_open }
-        if !p_thumb_id.isEmpty { tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = p_thumb_id }
-        if !p_quote.isEmpty { tmessage.mBodies[CoreMessage_TMessageKey.QUOTE] = p_quote }
-        return tmessage
-    }
-    
-    public static func getImageDownload(p_image_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.IMAGE_DOWNLOAD
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.IMAGE_ID] = p_image_id
-        return tmessage
-    }
-    
-    public static func retrievePostTimeline(score: String, last_last_update: String, filter_account: String, filter_category: String, search: String, type: String = "", shr: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.POST_RETRIEVE_TIMELINE
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = me
-        tMessage.mBodies[CoreMessage_TMessageKey.SCORE] = score
-        tMessage.mBodies[CoreMessage_TMessageKey.LAST_UPDATE] = last_last_update
-        tMessage.mBodies[CoreMessage_TMessageKey.FILTER_ACCOUNT] = filter_account
-        tMessage.mBodies[CoreMessage_TMessageKey.FILTER_CATEGORY] = filter_category
-        tMessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = "%" + search.trimmingCharacters(in: .whitespacesAndNewlines).replacingOccurrences(of: " ", with: "%") + "%"
-        tMessage.mBodies[CoreMessage_TMessageKey.SHARING_FLAG] = shr
-        if !type.isEmpty { tMessage.mBodies[CoreMessage_TMessageKey.TYPE] = type }
-        return tMessage
-    }
-    
-    public static func retrievePostProfile(f_pin: String, merchant_id: String, last_created_date: String, type: String, storyId: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.POST_RETRIEVE_PROFILE
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = me
-        tMessage.mBodies[CoreMessage_TMessageKey.F_PIN] = f_pin
-        tMessage.mBodies[CoreMessage_TMessageKey.MERCHANT_ID] = merchant_id
-        tMessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = last_created_date
-        tMessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tMessage.mBodies[CoreMessage_TMessageKey.STORY_ID] = storyId
-        return tMessage
-    }
-    
-    public static func getReport(post_id: String, report_date: String, reason: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.POST_REPORT
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = me
-        tMessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tMessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tMessage.mBodies[CoreMessage_TMessageKey.REPORT_DATE] = report_date
-        tMessage.mBodies[CoreMessage_TMessageKey.REASON] = reason
-        return tMessage
-    }
-    
-    public static func getReaction(post_id: String, flag_reaction: String, last_update: String, beforeFlagChanged: String, lac: String, cid: String, mcc: String, mnc: String, pci: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.POST_REACTION
-        tMessage.mStatus  = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = me
-        tMessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tMessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tMessage.mBodies[CoreMessage_TMessageKey.FLAG_REACTION] = flag_reaction
-        tMessage.mBodies[CoreMessage_TMessageKey.LAST_UPDATE] = last_update
-        tMessage.mBodies[CoreMessage_TMessageKey.BEFORE_FLAG_CHANGED] = beforeFlagChanged
-        tMessage.mBodies[CoreMessage_TMessageKey.LAC_ID] = lac
-        tMessage.mBodies[CoreMessage_TMessageKey.CELL_ID] = cid
-        tMessage.mBodies[CoreMessage_TMessageKey.MCC_ID] = mcc
-        tMessage.mBodies[CoreMessage_TMessageKey.MNC_ID] = mnc
-        tMessage.mBodies[CoreMessage_TMessageKey.PCI_ID] = pci
-        return tMessage
-    }
-    
-    public static func getComment(post_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_COMMENTS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = tmessage.mPIN
-        tmessage.mBodies["post_id"] = post_id
-        return tmessage
-    }
-    
-    public static func sendComment(image: String, name: String, comment_id: String, post_id: String, ref_comment_id: String, comment: String, commentDate: String, lac: String, cid: String, mcc: String, mnc: String, pci: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_COMMENTS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies["name"] = name
-        tmessage.mBodies["image"] = image
-        tmessage.mBodies[CoreMessage_TMessageKey.COMMENT_ID] = comment_id
-        tmessage.mBodies[CoreMessage_TMessageKey.COMMENT] = comment
-        tmessage.mBodies[CoreMessage_TMessageKey.COMMENT_DATE] = commentDate
-        tmessage.mBodies[CoreMessage_TMessageKey.REF_COMMENT_ID] = ref_comment_id
-        tmessage.mBodies[CoreMessage_TMessageKey.LAC_ID] = lac
-        tmessage.mBodies[CoreMessage_TMessageKey.CELL_ID] = cid
-        tmessage.mBodies[CoreMessage_TMessageKey.MCC_ID] = mcc
-        tmessage.mBodies[CoreMessage_TMessageKey.MNC_ID] = mnc
-        tmessage.mBodies[CoreMessage_TMessageKey.PCI_ID] = pci
-        tmessage.mBodies["post_id"] = post_id
-        return tmessage
-    }
-    
-    public static func getFollow(post_id: String, l_pin: String, followDate: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_FOLLOW
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.FOLLOW_DATE] = followDate
-        tmessage.mBodies[CoreMessage_TMessageKey.UNFOLLOW_DATE] = "253402102800000"
-        return tmessage
-    }
-    
-    public static func getUnFollow(post_id: String, l_pin: String) -> TMessage{
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_UNFOLLOW
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.UNFOLLOW_DATE] = String(Date().currentTimeMillis())
-        return tmessage
-    }
-    
-    public static func deleteComment(comment_id: String, post_id: String, ref_comment_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.DELETE_COMMENTS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.COMMENT_ID] = comment_id
-        tmessage.mBodies[CoreMessage_TMessageKey.REF_COMMENT_ID] = ref_comment_id
-        tmessage.mBodies["post_id"] = post_id
-        return tmessage
-    }
-    
-    public static func getUpadateComment(post_id: String, status: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.ON_EDITOR_COMMENT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies["post_id"] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = status
-        return tmessage
-    }
-    
-    public static func startScreenSharing(device_id: String, title: String?) -> TMessage{
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.SCREEN_SHARING
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = me
-        tMessage.mBodies[CoreMessage_TMessageKey.TITLE] = title ?? device_id
-        tMessage.mBodies[CoreMessage_TMessageKey.L_PIN] = device_id
-        return tMessage
-    }
-    
-    public static func terminateScreenSharing(device_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.SCREEN_SHARING_STOP
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = me
-        tMessage.mBodies[CoreMessage_TMessageKey.L_PIN] = device_id
-        return tMessage
-    }
-    
-    public static func getAddFriendQRCode(fpin: String) -> TMessage {
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.ADD_FRIEND_QR
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mBodies[CoreMessage_TMessageKey.FRIEND_FPIN] = fpin
-        return tMessage
-    }
-    
-    public static func getAddFriendQRCodeSilent(fpin: String) -> TMessage {
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.ADD_FRIEND_QR
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mBodies[CoreMessage_TMessageKey.FRIEND_FPIN] = fpin
-        tMessage.mBodies["is_silent"] = "1"
-        return tMessage
-    }
-    
-    public static func removeFriend(lpin: String) -> TMessage {
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.REMOVE_FRIEND
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mBodies[CoreMessage_TMessageKey.L_PIN] = lpin
-        return tMessage;
-    }
-    
-    public static func requestNearbyPerson(latitude: String, longitude: String, radius: String = "1000") -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_PERSON_NEARBY
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.LATITUDE] = latitude
-        tmessage.mBodies[CoreMessage_TMessageKey.LONGITUDE] = longitude
-        tmessage.mBodies[CoreMessage_TMessageKey.RADIUS] = radius
-        return tmessage
-    }
-    
-    public static func searchPerson(name: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_PERSON_BY_NAME
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = name
-        return tmessage
-    }
-    
-    public static func trackPerson(pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_PERSON_BY_PIN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = pin
-        return tmessage
-    }
-    
-    public static func getSituasiCovid() -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_SITUASI_COVID
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        return tmessage
-    }
-    
-    public static func getDoctorNearby(latitude: String, longitude: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_DOCTOR_NEARBY
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.LONGITUDE] = longitude
-        tmessage.mBodies[CoreMessage_TMessageKey.LATITUDE] = latitude
-        return tmessage
-    }
-    
-    public static func getPersonSuggestion(p_last_seq: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.RETRIEVE_PERSON_SUGGESTION
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.LAST_SEQUENCE] = p_last_seq
-        return tmessage
-    }
-    
-    public static func getSearchFriend(search_keyword: String, limit: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.RETRIEVE_PERSON_BY_NAME
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = search_keyword
-        tmessage.mBodies[CoreMessage_TMessageKey.N_LIMIT] = limit
-        return tmessage
-    }
-    
-    public static func pullStoryList(offset: String, filter: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.PULL_STORY_LIST
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.OFFSET] = offset
-        tmessage.mBodies[CoreMessage_TMessageKey.FILTER_ACCOUNT] = filter
-        return tmessage
-    }
-    
-    public static func pullMainContent() -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.PULL_MAIN_CONTENT
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        return tmessage
-    }
-    
-    public static func pullStoryListPersonal(offset: String, filter: String, l_pin:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.PULL_STORY_LIST_PERSONAL
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.OFFSET] = offset
-        tmessage.mBodies[CoreMessage_TMessageKey.FILTER_ACCOUNT] = filter
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    
-    public static func postCreateStory(post_id: String, title: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.POST_UPDATE_STORY
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "1"
-        return tmessage
-    }
-    
-    public static func postUpdateStory(story_id: String, post_id: String, title: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.POST_UPDATE_STORY
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.STORY_ID] = story_id
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "2"
-        return tmessage
-    }
-    
-    public static func submitKuisioner(data: String, latitude: String, longitude: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SUBMIT_SURVEY_COVID
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.LONGITUDE] = longitude
-        tmessage.mBodies[CoreMessage_TMessageKey.LATITUDE] = latitude
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        return tmessage
-    }
-    
-    public static func submitKuisionerAdditional(data: String, survey_id: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SUBMIT_SURVEY_COVID_ADDITIONAL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID();
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.SURVEY_ID] = survey_id
-        return tmessage
-    }
-    
-    public static func sendLSBroadcast(title: String, type:String, typeValue: String, category: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CREATE_LIVE_VIDEO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_FLAG] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.VALUE] = typeValue
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        return tmessage
-    }
-    
-    public static func createLS(title: String, type:String, typeValue: String = "", category: String, tagline: String, notifType: String, blogId: String, data: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CREATE_LS
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_FLAG] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.VALUE] = typeValue
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.BLOG_ID] = blogId
-        tmessage.mBodies[CoreMessage_TMessageKey.TAGLINE] = tagline
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = notifType
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        tmessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = ""
-        return tmessage
-    }
-    
-    public static func createSeminar(title: String, type:String, typeValue: String = "", category: String, notifType: String, blogId: String, data: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_CREATE
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_FLAG] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.VALUE] = typeValue
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.BLOG_ID] = blogId
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = notifType
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        tmessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = ""
-        return tmessage
-    }
-    
-    public static func getUploadTimeline(post_id: String, title: String, description: String, link: String, type: String, created_date: String, audition_date: String, thumb_id: String, privacy: String, file_id: String, video_duration: String, category: String, file_type: String, ads_type: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPLOAD_TIMELINE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = description
-        tmessage.mBodies[CoreMessage_TMessageKey.LINK] = link
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = created_date
-        tmessage.mBodies[CoreMessage_TMessageKey.AUDITION_DATE] = audition_date
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        tmessage.mBodies[CoreMessage_TMessageKey.PRIVACY_FLAG] = privacy
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        tmessage.mBodies[CoreMessage_TMessageKey.DURATION] = video_duration
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.MEDIA_TYPE] = file_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE_ADS] = ads_type
-        return tmessage
-    }
-    
-    public static func getUploadTimelineInvitation(post_id: String, title: String, description: String, link: String, type: String, created_date: String, audition_date: String, thumb_id: String, privacy: String, file_id: String, video_duration: String, category: String, file_type: String, ads_type: String,target: String, members: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPLOAD_TIMELINE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = description
-        tmessage.mBodies[CoreMessage_TMessageKey.LINK] = link
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = created_date
-        tmessage.mBodies[CoreMessage_TMessageKey.AUDITION_DATE] = audition_date
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        tmessage.mBodies[CoreMessage_TMessageKey.PRIVACY_FLAG] = privacy
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        tmessage.mBodies[CoreMessage_TMessageKey.DURATION] = video_duration
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.MEDIA_TYPE] = file_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE_ADS] = ads_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TARGET_CONTENT] = target
-        tmessage.mBodies["members"] = members
-        return tmessage
-    }
-    
-    public static func getUploadTimelineGroup(post_id: String, title: String, description: String, link: String, type: String, created_date: String, audition_date: String, thumb_id: String, privacy: String, file_id: String, video_duration: String, category: String, file_type: String, ads_type: String,target: String, groups: String, topics: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPLOAD_TIMELINE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = description
-        tmessage.mBodies[CoreMessage_TMessageKey.LINK] = link
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = created_date
-        tmessage.mBodies[CoreMessage_TMessageKey.AUDITION_DATE] = audition_date
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        tmessage.mBodies[CoreMessage_TMessageKey.PRIVACY_FLAG] = privacy
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        tmessage.mBodies[CoreMessage_TMessageKey.DURATION] = video_duration
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.MEDIA_TYPE] = file_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE_ADS] = ads_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TARGET_CONTENT] = target
-        tmessage.mBodies["groups"] = groups
-        tmessage.mBodies["topics"] = topics
-        return tmessage
-    }
-    
-    public static func getUploadTimelineEdu(post_id: String, title: String, description: String, link: String, type: String, created_date: String, audition_date: String, thumb_id: String, privacy: String, file_id: String, video_duration: String, category: String, file_type: String, ads_type: String, level_edu: String, materi_edu: String, finaltest_edu: String, target: String, pricing:String, pricing_money:String, question:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPLOAD_TIMELINE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = description
-        tmessage.mBodies[CoreMessage_TMessageKey.LINK] = link
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = created_date
-        tmessage.mBodies[CoreMessage_TMessageKey.AUDITION_DATE] = audition_date
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        tmessage.mBodies[CoreMessage_TMessageKey.PRIVACY_FLAG] = privacy
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        tmessage.mBodies[CoreMessage_TMessageKey.DURATION] = video_duration
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.MEDIA_TYPE] = file_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE_ADS] = ads_type
-        tmessage.mBodies[CoreMessage_TMessageKey.LEVEL_EDU] = level_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.MATERI_EDU] = materi_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.FINALTEST_EDU] = finaltest_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.TARGET_CONTENT] = target
-        tmessage.mBodies[CoreMessage_TMessageKey.PRICING] = pricing
-        tmessage.mBodies[CoreMessage_TMessageKey.PRICING_MONEY] = pricing_money
-        tmessage.mBodies[CoreMessage_TMessageKey.QUESTION_QUIZ] = question
-        return tmessage
-    }
-    
-    public static func getUploadTimelineEduInvitation(post_id: String, title: String, description: String, link: String, type: String, created_date: String, audition_date: String, thumb_id: String, privacy: String, file_id: String, video_duration: String, category: String, file_type: String, ads_type: String, level_edu: String, materi_edu: String, finaltest_edu: String, target: String, pricing:String, pricing_money:String, members: String, question:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPLOAD_TIMELINE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = description
-        tmessage.mBodies[CoreMessage_TMessageKey.LINK] = link
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = created_date
-        tmessage.mBodies[CoreMessage_TMessageKey.AUDITION_DATE] = audition_date
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        tmessage.mBodies[CoreMessage_TMessageKey.PRIVACY_FLAG] = privacy
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        tmessage.mBodies[CoreMessage_TMessageKey.DURATION] = video_duration
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.MEDIA_TYPE] = file_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE_ADS] = ads_type
-        tmessage.mBodies[CoreMessage_TMessageKey.LEVEL_EDU] = level_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.MATERI_EDU] = materi_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.FINALTEST_EDU] = finaltest_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.TARGET_CONTENT] = target
-        tmessage.mBodies[CoreMessage_TMessageKey.PRICING] = pricing
-        tmessage.mBodies[CoreMessage_TMessageKey.PRICING_MONEY] = pricing_money
-        tmessage.mBodies[CoreMessage_TMessageKey.QUESTION_QUIZ] = question
-        tmessage.mBodies["members"] = members
-        return tmessage
-    }
-    
-    public static func getUploadTimelineEduClass(post_id: String, title: String, description: String, link: String, type: String, created_date: String, audition_date: String, thumb_id: String, privacy: String, file_id: String, video_duration: String, category: String, file_type: String, ads_type: String, level_edu: String, materi_edu: String, finaltest_edu: String, target: String, pricing:String, pricing_money:String, groups: String, topics: String, question:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPLOAD_TIMELINE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = description
-        tmessage.mBodies[CoreMessage_TMessageKey.LINK] = link
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = created_date
-        tmessage.mBodies[CoreMessage_TMessageKey.AUDITION_DATE] = audition_date
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        tmessage.mBodies[CoreMessage_TMessageKey.PRIVACY_FLAG] = privacy
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        tmessage.mBodies[CoreMessage_TMessageKey.DURATION] = video_duration
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.MEDIA_TYPE] = file_type
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE_ADS] = ads_type
-        tmessage.mBodies[CoreMessage_TMessageKey.LEVEL_EDU] = level_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.MATERI_EDU] = materi_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.FINALTEST_EDU] = finaltest_edu
-        tmessage.mBodies[CoreMessage_TMessageKey.TARGET_CONTENT] = target
-        tmessage.mBodies[CoreMessage_TMessageKey.PRICING] = pricing
-        tmessage.mBodies[CoreMessage_TMessageKey.PRICING_MONEY] = pricing_money
-        tmessage.mBodies[CoreMessage_TMessageKey.QUESTION_QUIZ] = question
-        tmessage.mBodies["groups"] = groups
-        tmessage.mBodies["topics"] = topics
-        return tmessage
-    }
-    
-    public static func joinLiveVideo(broadcast_id: String, request_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.JOIN_LIVE_VIDEO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = broadcast_id
-        tmessage.mBodies[CoreMessage_TMessageKey.REQUEST_ID] = request_id
-        return tmessage
-    }
-    public static func removeLiveVideo(broadcast_id: String, request_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.REMOVE_LIVE_VIDEO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = broadcast_id
-        tmessage.mBodies[CoreMessage_TMessageKey.REQUEST_ID] = request_id
-        return tmessage
-    }
-    public static func leftLiveVideo(broadcast_id: String, request_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.LEFT_LIVE_VIDEO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = broadcast_id
-        tmessage.mBodies[CoreMessage_TMessageKey.REQUEST_ID] = request_id
-        return tmessage
-    }
-    public static func joinSeminar(broadcast_id: String, request_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_JOIN
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = broadcast_id
-        tmessage.mBodies[CoreMessage_TMessageKey.REQUEST_ID] = request_id
-        return tmessage
-    }
-    public static func removeSeminar(broadcast_id: String, request_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_REMOVE
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = broadcast_id
-        tmessage.mBodies[CoreMessage_TMessageKey.REQUEST_ID] = request_id
-        return tmessage
-    }
-    public static func leftSeminar(broadcast_id: String, request_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_LEFT
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = broadcast_id
-        tmessage.mBodies[CoreMessage_TMessageKey.REQUEST_ID] = request_id
-        return tmessage
-    }
-    
-    public static func getSeminarRaiseHand(p_pin: String, l_pin: String, status: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_PUSH_RAISE_HAND
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] =  p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = status
-        return tmessage
-    }
-    
-    public static func getSeminarDraw(broadcaster: String, flag: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_DRAW
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = tmessage.mPIN
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = broadcaster
-        tmessage.mBodies[CoreMessage_TMessageKey.INDEX] = flag
-        return tmessage
-    }
-    
-    public static func getSeminarFaceDetection(p_pin: String, l_pin: String, flag: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_FACE_DETECTION
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = flag
-        return tmessage
-    }
-    
-    public static func getSendLSChat(l_pin: String, message_text:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.LIVE_PROFILE_PUSH_CHAT
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = message_text
-        return tmessage
-    }
-    public static func getSendSeminarChat(l_pin: String, message_text:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_PUSH_CHAT
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = message_text
-        return tmessage
-    }
-    public static func getSendLSEmotion(l_pin: String, emotion_type:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.LIVE_PROFILE_EMOTION_SEND
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = emotion_type
-        return tmessage
-    }
-    public static func getUpdateLSTitle(title:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPDATE_LIVE_VIDEO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        return tmessage
-    }
-    public static func getChangePersonInfoName(firstname:String,lastname:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.FIRST_NAME] = firstname
-        tmessage.mBodies[CoreMessage_TMessageKey.LAST_NAME] = lastname
-        return tmessage
-    }
-    public static func getChangePersonInfoEmail(email:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = email
-        return tmessage
-    }
-    public static func getChangePersonInfoPassword(password:String,oldpassword:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = password
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD_OLD] = oldpassword
-        return tmessage
-    }
-    
-    public static func getChangePersonInfoQuote(quote: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tMessage = TMessage()
-        tMessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tMessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tMessage.mPIN = me
-        tMessage.mBodies[CoreMessage_TMessageKey.QUOTE] = quote
-        return tMessage
-    }
-    
-    public static func getChangePersonPrivacy(privacy: Bool) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.PRIVACY_FLAG] = privacy ? "1" : "0"
-        return tmessage
-    }
-    
-    public static func getChangePersonOfflineMode(offline: Bool) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.OFFLINE_MODE] = offline ? "1" : "0"
-        return tmessage
-    }
-    
-    public static func getChangePersonImage(thumb_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        return tmessage
-    }
-    
-    public static func getLSData(l_pin:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.LIVE_PROFILE_EMOTION_GET
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    
-    public static func deleteMessage(l_pin: String, messageId: String, scope: String, type: String, chat: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.DELETE_CTEXT
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_ID] = messageId
-        tmessage.mBodies["message_id"] = messageId // message_id separated with coma
-        tmessage.mBodies[CoreMessage_TMessageKey.CHAT_ID] = chat
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_SCOPE_ID] = scope
-        if type == "2" { // delete for everyone
-            tmessage.mBodies[CoreMessage_TMessageKey.DELETE_MESSAGE_FLAG] = "1"
-        }
-        return tmessage
-    }
-    public static func getRequestLiveVideo(f_pin:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_LIVE_VIDEO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = f_pin
-        return tmessage
-    }
-    public static func createVCallConference(blog_id:String, data:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.VC_ROOM_CREATE
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.BLOG_ID] = blog_id
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        return tmessage
-    }
-    public static func startVCallConference(blog_id:String,time:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.VC_ROOM_START
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = blog_id
-        tmessage.mBodies[CoreMessage_TMessageKey.START_DATE] = time
-        return tmessage
-    }
-    public static func joinVCallConference(blog_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.VC_ROOM_JOIN;
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = blog_id
-        return tmessage
-    }
-    public static func endVCallConference(blog_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.VC_ROOM_END;
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = blog_id
-        return tmessage
-    }
-    public static func getVersionCheck() -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.VERSION_CHECK;
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        return tmessage
-    }
-    
-    public static func getUpdateTypingStatus(p_opposite: String, p_scope: String, p_status: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_UPDATE_TYPING;
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = p_opposite
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = p_status
-        tmessage.mBodies[CoreMessage_TMessageKey.SCOPE_ID] = p_scope
-        return tmessage
-    }
-    
-    public static func getBuddyInfo(l_pin: String, last_update: Int) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_BUDDY_INFO;
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.LAST_UPDATE] = "\(last_update)"
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    
-    public static func getAckLocationMessage(f_pin: String, message_id: String, l_pin: String, server_date: String, message_scope_id: String, longitude: String, latitude: String, description: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPDATE_CTEXT;
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_ID] = message_id
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.SERVER_DATE] = server_date
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_SCOPE_ID] = message_scope_id
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "8"
-        tmessage.mBodies[CoreMessage_TMessageKey.LATITUDE] = latitude
-        tmessage.mBodies[CoreMessage_TMessageKey.LONGITUDE] = longitude
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = description
-        return tmessage
-    }
-    
-    public static func getListFollowing(l_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_LIST_FOLLOWING
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    
-    public static func getBlock(l_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_BLOCK
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    
-    public static func getUnBlock(l_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_UNBLOCK
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    
-    public static func getOpenGroups(p_account: String, offset:String, search:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_OPEN_GROUPS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.FILTER_ACCOUNT] = p_account
-        tmessage.mBodies[CoreMessage_TMessageKey.OFFSET] = offset
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = search
-        return tmessage
-    }
-    
-    public static func sendOTPMSISDN(p_pin: String, msisdn: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_SIGNUP_MSISDN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        return tmessage
-    }
-    
-    public static func verifyOTP(p_pin: String, msisdn: String, otp: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.VERIFY_OTP
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        tmessage.mBodies[CoreMessage_TMessageKey.OTP] = otp
-        return tmessage
-    }
-    
-    public static func signInOTP(p_pin: String, f_name: String, l_name: String, thumb_id: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_SIGNIN_OTP
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.FIRST_NAME] = f_name
-        tmessage.mBodies[CoreMessage_TMessageKey.LAST_NAME] = l_name
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        return tmessage
-    }
-    
-    public static func getSendOTPLogin(p_email: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_OTP_LOGIN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = p_email
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_APP_NAME] = UCUtils.getAppNm()
-        tmessage.mBodies[CoreMessage_TMessageKey.CPAAS_VERSION] = UCUtils.CPAAS_VERSION
-        return tmessage
-    }
-
-    public static func getSendVerifyChangeDevice(p_email: String, p_vercode: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_VERIFY_LOGIN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = p_email
-        tmessage.mBodies[CoreMessage_TMessageKey.OTP] = p_vercode
-        return tmessage;
-    }
-    
-    public static func getChangePersonMSISDN(msisdn: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        return tmessage
-    }
-    
-    public static func sendOTPChangeMSISDN(msisdn: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_CHANGE_MSISDN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        return tmessage
-    }
-    
-    public static func drawWhiteboard(l_pin: String, x: String, y: String, w: String, h: String, fc: String, sw: String, xo: String, yo: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.DRAW_WHITEBOARD
-        tmessage.mPIN = me
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies["x"] = x
-        tmessage.mBodies["y"] = y
-        tmessage.mBodies["w"] = w
-        tmessage.mBodies["h"] = h
-        tmessage.mBodies["fc"] = fc
-        tmessage.mBodies["sw"] = sw
-        tmessage.mBodies["xo"] = xo
-        tmessage.mBodies["yo"] = yo
-        return tmessage
-    }
-    
-    public static func getApnToken(token: String, callToken: String, fPin: String) -> TMessage {
-        let tmessage = TMessage();
-        tmessage.mCode = CoreMessage_TMessageCode.APN_TOKEN;
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID();
-        tmessage.mPIN = fPin
-        tmessage.mBodies[CoreMessage_TMessageKey.APN_TOKEN] = token;
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_TOKEN] = callToken;
-        return tmessage;
-    }
-    
-    public static func getCreateSubGroup(group_id: String, group_name: String, parent_id: String, level: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CREATE_SUB_GROUP
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = group_id
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_NAME] = group_name
-        tmessage.mBodies[CoreMessage_TMessageKey.PARENT_ID] = parent_id
-        tmessage.mBodies[CoreMessage_TMessageKey.LEVEL] = level
-        return tmessage
-    }
-    
-    public static func checkPassword(password: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHECK_PSWD
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = password
-        return tmessage
-    }
-    
-    public static func getSendLoginEmail(email: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_LOGIN_EMAIL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = email
-        return tmessage
-    }
-    
-    public static func getVerificationEmail(email: String, token:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_VERIFICATION
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = email
-        tmessage.mBodies[CoreMessage_TMessageKey.TOKEN] = token
-        return tmessage
-    }
-    
-    public static func getListSchool(keyword: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_LIST_SCHOOL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = keyword
-        return tmessage
-    }
-    public static func getUpdateUser(msisdn: String,email: String,name: String, image:String, role: String,password:String,data:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPDATE_USER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = email
-        tmessage.mBodies[CoreMessage_TMessageKey.FIRST_NAME] = name
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = image
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_FLAG] = role
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = password
-        if (role != "1"){
-            tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        }
-        return tmessage
-    }
-    public static func getRequestStudent(form_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_REQUEST_STUDENT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.FORM_ID] = form_id
-        return tmessage
-    }
-    public static func getRequestTeacher(form_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_REQUEST_TEACHER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.FORM_ID] = form_id
-        return tmessage
-    }
-    public static func getApproveRequestStudent(form_id: String, l_pin:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.APPROVE_REQUEST_STUDENT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.FORM_ID] = form_id
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    public static func getApproveRequestTeacher(form_id: String, l_pin:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.APPROVE_REQUEST_TEACHER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.FORM_ID] = form_id
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        return tmessage
-    }
-    
-    public static func requestStudent(f_pin:String,school_id: String,group_id:String,email: String,name: String, l_pin:String, msisdn: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_STUDENT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.SCHOOL_ID] = school_id
-        tmessage.mBodies[CoreMessage_TMessageKey.GROUP_ID] = group_id
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.REAL_NAME] = name
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = email
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        return tmessage
-    }
-    
-    public static func requestApprovalTeacher(f_pin: String,l_pin: String, school_id:String, level: String,stage:String,major:String, type:String, className:String,email:String,name:String, msisdn: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_TEACHER_SCHOOL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = email
-        tmessage.mBodies[CoreMessage_TMessageKey.REAL_NAME] = name
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.SCHOOL_ID] = school_id
-        tmessage.mBodies[CoreMessage_TMessageKey.LEVEL] = level
-        tmessage.mBodies[CoreMessage_TMessageKey.EDU_STAGE] = stage
-        tmessage.mBodies[CoreMessage_TMessageKey.MAJOR_EDU] = major
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_CLASS_NAME] = className
-        return tmessage
-    }
-    public static func getListSchool() -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_LIST_SCHOOL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        return tmessage
-    }
-    public static func getListClassName(school_id: String,level: String, major:String, class_type: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_LIST_CLASS_NAME
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.SCHOOL_ID] = school_id
-        tmessage.mBodies[CoreMessage_TMessageKey.LEVEL] = level
-        tmessage.mBodies[CoreMessage_TMessageKey.MAJOR_EDU] = major
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = class_type
-        return tmessage
-    }
-    
-    public static func updateUser(msisdn: String,email: String,name: String, image:String, role: Int, password: String, data: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPDATE_USER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.MSISDN] = msisdn
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = email
-        tmessage.mBodies[CoreMessage_TMessageKey.FIRST_NAME] = name
-        tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = image
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_FLAG] = "\(role)"
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = password
-        if(role != 1){
-            tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        }
-        return tmessage
-    }
-    
-    public static func submitSchool(f_pin: String,schoolId: String, schoolName:String, level: String, eduStage: String, p_class_type: String, major: String, p_class_name: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SUBMIT_SCHOOL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.SCHOOL_ID] = schoolId
-        tmessage.mBodies[CoreMessage_TMessageKey.SCHOOL_DESC] = schoolName
-        tmessage.mBodies[CoreMessage_TMessageKey.LEVEL] = level
-        tmessage.mBodies[CoreMessage_TMessageKey.EDU_STAGE] = eduStage
-        tmessage.mBodies[CoreMessage_TMessageKey.MAJOR_EDU] = major
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = p_class_type
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_CLASS_NAME] = p_class_name
-        return tmessage
-    }
-    
-    public static func deletePost(post_id:String, last_update:String, ec_date:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.DELETE_POST
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.LAST_UPDATE] = last_update
-        tmessage.mBodies[CoreMessage_TMessageKey.EC_DATE] = ec_date
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        return tmessage
-    }
-    
-    public static func getIsInitiatorJoin(p_broadcaster:String, p_category:String, blog_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.IS_INITIATOR_JOIN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_ID] = p_broadcaster
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = p_category
-        tmessage.mBodies[CoreMessage_TMessageKey.BLOG_ID] = blog_id
-        return tmessage
-    }
-    
-    public static func getStartLPInvited(title:String, type:String,typeValue:String,category:String,blog_id:String, tagline: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.START_LP_INVITED
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_FLAG] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.VALUE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.BLOG_ID] = blog_id
-        tmessage.mBodies[CoreMessage_TMessageKey.TAGLINE] = tagline
-        return tmessage
-    }
-    
-    public static func getStartSeminarInvited(title:String, type:String,typeValue:String,category:String,blog_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEMINAR_START_INVITED
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_FLAG] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.VALUE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category
-        tmessage.mBodies[CoreMessage_TMessageKey.BLOG_ID] = blog_id
-        return tmessage
-    }
-    
-    public static func getListSubAccount() -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SUB_ACCOUNT_LIST
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        return tmessage
-    }
-    public static func getQuizDetail(post_id:String,lpin:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.QUIZ_DETAIL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = lpin
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        return tmessage
-    }
-    
-    public static func getQuizAnswer(post_id:String,data:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.QUIZ_ANSWER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        return tmessage
-    }
-    
-    public static func getQuizScoring(score:String,post_id:String,lpin:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.QUIZ_SCORING
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = lpin
-        tmessage.mBodies[CoreMessage_TMessageKey.POST_ID] = post_id
-        tmessage.mBodies[CoreMessage_TMessageKey.SCORE] = score
-        return tmessage
-    }
-    
-    public static func getRequestCallCenter(p_channel:Int, category_id: String = "") -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_CALL_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHANNEL] = "\(p_channel)"
-        tmessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = ""
-        if !category_id.isEmpty{
-            tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category_id
-        }
-        return tmessage
-    }
-    
-    public static func getRequestEmailCallCenter(p_channel:Int) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.EMAIL_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHANNEL] = "\(p_channel)"
-        return tmessage
-    }
-    
-    public static func acceptRequestCallCenter(channel:String, l_pin: String, complaint_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.ACCEPT_CALL_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.CHANNEL] = channel
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = complaint_id
-        return tmessage
-    }
-    
-    public static func endCallCenter(complaint_id:String, l_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.END_CALL_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = complaint_id
-        return tmessage
-    }
-    
-    public static func getFeatureAccess(key: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FEATURE_ACCESS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.KEY] = key
-        return tmessage
-    }
-    
-    public static func getListLS() -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageKey.GET_LIST_LS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        return tmessage
-    }
-    
-    public static func broadcastMessage(title:String, broadcast_flag: String, message:String, starting_date: Int64, ending_date: Int64, destination:String, data: String, category_flag:String, notification_type: String, link:String, thumb_id: String, file_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.BROADCAST_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = title
-        tmessage.mBodies[CoreMessage_TMessageKey.BROADCAST_FLAG] = broadcast_flag
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT_ENG] = message
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = message
-        tmessage.mBodies[CoreMessage_TMessageKey.START_DATE] = "\(starting_date)"
-        tmessage.mBodies[CoreMessage_TMessageKey.END_DATE] = "\(ending_date)"
-        tmessage.mBodies[CoreMessage_TMessageKey.TARGET_CONTENT] = destination
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_FLAG] = category_flag
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = notification_type
-        tmessage.mBodies[CoreMessage_TMessageKey.LINK] = link
-        if (!thumb_id.isEmpty) {
-            tmessage.mBodies[CoreMessage_TMessageKey.THUMB_ID] = thumb_id
-        }
-        if (!file_id.isEmpty) {
-            tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = file_id
-        }
-        return tmessage
-    }
-    
-    public static func timeOutRequestCallCenter(channel:String, l_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.TIMEOUT_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.CHANNEL] = channel
-        return tmessage
-    }
-    
-    public static func getManagementContactCenter(user_type:String, l_pin: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.MANAGEMENT_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = user_type
-        return tmessage
-    }
-    
-    public static func getManagementContactCenterBNI(l_pin: String, type: String, category_id: String, area_id: String, is_second_layer: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.MANAGEMENT_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = tmessage.mPIN
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category_id
-        tmessage.mBodies[CoreMessage_TMessageKey.WORKING_AREA] = area_id
-        tmessage.mBodies[CoreMessage_TMessageKey.IS_SECOND_LAYER] = is_second_layer
-        return tmessage
-    }
-    
-    public static func getSignInApiCreator(p_name:String, p_password: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SIGN_IN_API_CREATOR
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = p_name
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = p_password
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_ID] = UCUtils.M_USER_ANDROID_ID
-        return tmessage
-    }
-    
-    public static func getSignInApiAdmin(p_name:String, p_password: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SIGN_IN_API_ADMIN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = p_name
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = p_password
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_ID] = UCUtils.M_USER_ANDROID_ID
-        return tmessage
-    }
-    
-    public static func getSignInApiInternal(p_name:String, p_password: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SIGN_IN_API_INTERNAL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = p_name
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = p_password
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_ID] = UCUtils.M_USER_ANDROID_ID
-        return tmessage
-    }
-    
-    public static func getChangePasswordAdmin(p_f_pin:String, pwd_en: String, pwd_old: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PSWD_ADMIN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = pwd_en
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD_OLD] = pwd_old
-        return tmessage
-    }
-    
-    public static func getChangePasswordInternal(p_f_pin:String, pwd_en: String, pwd_old: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PSWD_INTERNAL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = pwd_en
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD_OLD] = pwd_old
-        return tmessage
-    }
-    
-    public static func getQueuingCallCenter(p_channel:Int) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.QUEUING_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHANNEL] = "\(p_channel)"
-        return tmessage
-    }
-    
-    public static func getStatusContactCenter(p_complaint_id:String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.STATUS_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = p_complaint_id
-        return tmessage
-    }
-    
-    public static func getListDiscussion(p_last_seq: String, keyword: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_LIST_DISCUSSION
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.LAST_SEQUENCE] = p_last_seq
-        tmessage.mBodies[CoreMessage_TMessageKey.DESCRIPTION] = keyword
-        return tmessage
-    }
-    
-    public static func getDiscussionComment(p_discussion_id: String) -> TMessage {
-        let me = UserDefaults.standard.string(forKey: "me")!
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_DISCUSSION_COMMENT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey._ID] = p_discussion_id
-        return tmessage
-    }
-    
-    public static func getSendDiscussionComment(p_pin: String, discussion_id: String, comment: String, comment_id: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_DISCUSSION_COMMENT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey._ID] = discussion_id
-        tmessage.mBodies[CoreMessage_TMessageKey.COMMENT] = comment
-        tmessage.mBodies[CoreMessage_TMessageKey.COMMENT_ID] = comment_id
-        return tmessage
-    }
-    
-    public static func getSendLeaveComment(discussion_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.LEAVE_DISCUSSION_COMMENT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey._ID] = discussion_id
-        return tmessage
-    }
-    
-    // FORM
-    
-    public static func getFormList(p_pin: String, p_last_id: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_FORM_LIST
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.FORM_ID] = p_last_id
-        tmessage.mBodies[CoreMessage_TMessageKey.ACTVITY_SUB] = "0"
-//        tmessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = "74"
-        return tmessage
-    }
-    
-//    public static TMessage getFormList(String p_pin, String p_last_id) {
-//            TMessage tmessage = new TMessage();
-//            tmessage.mCode = CoreMessage_TMessageCode.REQUEST_FORM_LIST;
-//            tmessage.mStatus = CoreMessage_TMessageUtil.getTID();
-//            tmessage.mPIN = p_pin;
-//            tmessage.mBodies.put(CoreMessage_TMessageKey.FORM_ID, p_last_id);
-//            tmessage.mBodies.put(CoreMessage_TMessageKey.ACTVITY_SUB, CoreDataSqlite_PullDB.getLastPull(CoreDataSqlite_PullDB.PULL_TYPE_SUB_ACTIVITY));
-//            tmessage.mBodies.put(CoreMessage_TMessageKey.BUSINESS_ENTITY, SharedObj.getCurrentlyMerchant(Qmera.getContext()));
-//            return tmessage;
-//        }
-    
-    public static func getSendOTPChangeProfile(name: String, type: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_OTP_CHANGE_PROFILE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.OTP] = "99"
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = "nexiilis_email"
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = name
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        return tmessage
-    }
-    
-    public static func getSendOTPChangeDeviceGaspol(p_email: String, p_idnumber: String, p_vercode: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_OTP_CHANGE_DEVICE_GASPOL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.OTP] = p_vercode
-        tmessage.mBodies[CoreMessage_TMessageKey.EMAIL] = p_email
-        tmessage.mBodies[CoreMessage_TMessageKey.USER_ID] = p_idnumber
-        return tmessage
-    }
-    
-    public static func getSendVerifyChangeDevice(p_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.SEND_VERIFY_CHANGE_DEVICE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        return tmessage
-    }
-    
-    public static func getChangePersonInfo_New(p_f_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CHANGE_PERSON_INFO
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_f_pin
-        return tmessage
-    }
-    
-    public static func getSendEmotionLP(p_pin: String, l_pin: String, emotion_type: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.LIVE_PROFILE_EMOTION_SEND
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = p_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = emotion_type
-        return tmessage;
-    }
-    
-    public static func getCCRoomIsActive(ticket_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.IS_ACTIVE_CALL_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = ticket_id
-        return tmessage
-    }
-
-    public static func getCCRoomInvite(l_pin: String, ticket_id: String, channel: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.INVITE_TO_ROOM_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = ticket_id
-        tmessage.mBodies[CoreMessage_TMessageKey.CHANNEL] = channel
-        return tmessage
-    }
-
-    public static func acceptCCRoomInvite(l_pin: String, type: Int, ticket_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.ACCEPT_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "\(type)"
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = ticket_id
-        return tmessage
-    }
-
-    public static func leaveCCRoomInvite(ticket_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.INVITE_EXIT_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = ticket_id
-        return tmessage
-    }
-
-    public static func getCallCenterDraw(ticket_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.DRAW_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = tmessage.mPIN
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = ticket_id
-        return tmessage
-    }
-    
-    public static func getWebLoginQRCode(f_qrcode: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.WEB_LOGIN_QR
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = me
-        tmessage.mBodies[CoreMessage_TMessageKey.KEY] = f_qrcode
-        return tmessage
-    }
-    
-    public static func getFormApproval(p_f_pin: String, p_ref_id: String, p_approve: String, p_note: String, p_sign: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.APPROVE_FORM
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID();
-        tmessage.mPIN = p_f_pin;
-        tmessage.mBodies[CoreMessage_TMessageKey.REF_ID] = p_ref_id
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = p_approve
-        tmessage.mBodies[CoreMessage_TMessageKey.NOTE] = p_note
-        tmessage.mBodies[CoreMessage_TMessageKey.SIGN] = p_sign
-        return tmessage
-    }
-    
-    public static func pullGroupCategory() -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.PULL_GROUP_CATEGORY
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        return tmessage
-    }
-    
-    public static func pullFloatingButton() -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.PULL_FLOATING_BUTTON
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        return tmessage
-    }
-    
-    public static func getServiceBNI(p_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_SERVICE_BNI
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = p_pin
-        return tmessage
-    }
-
-    public static func queueBNI(service_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_TICKET_BNI
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = service_id
-        return tmessage
-    }
-
-    public static func isiPulsaBNI(value: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_TOP_UP_BNI
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.VALUE] = value
-        return tmessage
-    }
-    
-    public static func getCustomerInfo(rek: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.GET_CUSTOMER_INFO
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CARD_ID] = rek
-        return tmessage
-    }
-    
-    public static func getRequestSecondContactCenter(p_channel: String, category_id: String, area_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.REQUEST_SECOND_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.CHANNEL] = p_channel
-        tmessage.mBodies[CoreMessage_TMessageKey.BUSINESS_ENTITY] = ""
-        tmessage.mBodies[CoreMessage_TMessageKey.CATEGORY_ID] = category_id
-        tmessage.mBodies[CoreMessage_TMessageKey.WORKING_AREA] = area_id
-        return tmessage;
-    }
-
-    public static func respondSecondContactCenter(l_pin: String, type: String, ticket_id: String) -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.RESPOND_SECOND_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.CALL_CENTER_ID] = ticket_id
-        return tmessage;
-    }
-
-    public static func getWorkingAreaContactCenter() -> TMessage {
-        let tmessage = TMessage()
-        let me = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mCode = CoreMessage_TMessageCode.GET_WORKING_AREA_CONTACT_CENTER
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = me
-        return tmessage
-    }
-    
-    public static func getInquiry(message_id: String, error_code: String, data: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.INQUIRY
-        tmessage.mStatus = message_id
-        tmessage.mPIN = "-1"
-        tmessage.mBodies[CoreMessage_TMessageKey._ID] = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_ID] = message_id
-        tmessage.mBodies[CoreMessage_TMessageKey.ERRCOD] = error_code
-        tmessage.mBodies[CoreMessage_TMessageKey.DATA] = data
-        return tmessage
-    }
-
-    public static func getMobileInquiry(message_id: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.MOBILE_INQUIRY;
-        tmessage.mStatus = message_id
-        tmessage.mPIN = "-1";
-        tmessage.mBodies[CoreMessage_TMessageKey._ID] = CoreMessage_TMessageUtil.getTID()
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_ID] = message_id
-        return tmessage
-    }
-    
-    public static func getSignUpSignInAPI(p_name: String, p_password: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SIGN_UP_AND_SIGN_IN_API
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.NAME] = p_name
-        tmessage.mBodies[CoreMessage_TMessageKey.PSWD] = p_password
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_ID] = UCUtils.M_USER_ANDROID_ID
-        tmessage.mBodies[CoreMessage_TMessageKey.ANDROID_APP_NAME] = UCUtils.getAppNm()
-        tmessage.mBodies[CoreMessage_TMessageKey.CPAAS_VERSION] = UCUtils.CPAAS_VERSION
-        return tmessage
-    }
-    
-    public static func getBackupAvailability() -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode    = CoreMessage_TMessageCode.BACKUP_AVAILABILITY
-        tmessage.mStatus  = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN     = UserDefaults.standard.string(forKey: "me")!
-        return tmessage
-    }
-    
-    public static func getBackupUploaded(option: String, fileid: String, filesize: String, recordSize: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode    = CoreMessage_TMessageCode.BACKUP_UPLOADED
-        tmessage.mStatus  = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN     = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] =  option
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = fileid
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_SIZE] = filesize
-        tmessage.mBodies[CoreMessage_TMessageKey.CREATED_DATE] = "\(Date().currentTimeMillis())"
-        tmessage.mBodies[CoreMessage_TMessageKey.RECORD_SIZE] = recordSize
-        return tmessage
-    }
-    
-    public static func getBackupRestored(option: String , fileid: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode    = CoreMessage_TMessageCode.BACKUP_RESTORED
-        tmessage.mStatus  = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN     = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = option
-        tmessage.mBodies[CoreMessage_TMessageKey.FILE_ID] = fileid
-        return tmessage
-    }
-    
-    public static func wbCreate(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "wb"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.WB_INCOMING)"
-        return tmessage;
-    }
-    
-    public static func wbAccept(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "wb"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.WB_ACCEPT_INCOMING)"
-        return tmessage;
-    }
-    
-    public static func wbReject(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "wb"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.WB_REJECT_INCOMING)"
-        return tmessage;
-    }
-    
-    public static func wbOffhook(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "wb"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.WB_OFFHOOK)"
-        return tmessage;
-    }
-    
-    public static func wbEnded(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "wb"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.WB_END)"
-        return tmessage;
-    }
-    
-    public static func ssCreate(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "ss"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.SS_INCOMING)"
-        return tmessage;
-    }
-    
-    public static func ssAccept(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "ss"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.SS_ACCEPT_INCOMING)"
-        return tmessage;
-    }
-    
-    public static func ssReject(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "ss"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.SS_REJECT_INCOMING)"
-        return tmessage;
-    }
-    
-    public static func ssOffhook(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "ss"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.SS_OFFHOOK)"
-        return tmessage;
-    }
-    
-    public static func ssEnded(l_pin: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FORWARD_MESSAGE
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = l_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = "ss"
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "\(CoreMessage_TMessageCode.SS_END)"
-        return tmessage;
-    }
-    
-    public static func getSimplePersonInfoWA(f_pin: String) -> TMessage{
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_SIMPLE_PERSON_INFO
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = f_pin
-        tmessage.mBodies[CoreMessage_TMessageKey.STATUS] = "1"
-        return tmessage
-    }
-    
-    public static func getServiceBank() -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_SERVICE_BNI
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.PLATFORM] = "0"
-        return tmessage
-    }
-    
-    public static func getIncomingCallCS(f_pin_opposite: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.INCOMING_CALL_CC
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = f_pin_opposite
-        return tmessage
-    }
-
-    public static func getEndCall(f_pin_opposite: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.END_CALL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = f_pin_opposite
-        return tmessage;
-    }
-    
-    public static func pullGroupNoMember() -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GET_BATCH_GROUP_NO_MEMBERS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UserDefaults.standard.string(forKey: "me")!
-        return tmessage
-    }
-    
-    public static func getCalling(fPin: String, type: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CALLING
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = fPin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        return tmessage
-    }
-
-    public static func getNotifyCalling(fPin: String, lPin: String, type: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.NOTIFY_TO_CALLING
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = fPin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        tmessage.mBodies[CoreMessage_TMessageKey.L_PIN] = lPin
-        return tmessage
-    }
-
-    public static func getCancelCall(fPin: String, type: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.CANCEL_CALL_NOTIFICATION
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = fPin
-        tmessage.mBodies[CoreMessage_TMessageKey.TYPE] = type
-        return tmessage
-    }
-    
-    public static func getFeatureAccessAll() -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.FEATURE_ACCESS_ALL
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        return tmessage
-    }
-    
-    public static func getAlertNewSignIn(brand: String, latitude: String, longitude: String ) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.ALERT_NEW_SIGN_IN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = UCUtils.getLoginMultipleFPin()
-        tmessage.mBodies[CoreMessage_TMessageKey.DEVICE_BRAND] = brand
-        tmessage.mBodies[CoreMessage_TMessageKey.LATITUDE] = latitude
-        tmessage.mBodies[CoreMessage_TMessageKey.LONGITUDE] = longitude
-        tmessage.mBodies[CoreMessage_TMessageKey.LOCAL_TIMESTAMP] = "\(Date().currentTimeMillis())"
-        return tmessage
-    }
-    
-    public static func getBlockAccess(userId: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.BLOCK_ACCESS
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = userId
-        return tmessage
-    }
-    
-    public static func getShieldSecurityValidateToken(token: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.SHIELD_SECURITY_VALIDATE_TOKEN
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.F_PIN] = UCUtils.getLoginMultipleFPin()
-        tmessage.mBodies[CoreMessage_TMessageKey.TOKEN] = token
-        return tmessage
-    }
-    
-    public static func getUpdateLiveVideo(pTitle: String, pTagline: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.UPDATE_LIVE_VIDEO
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.TITLE] = pTitle
-        tmessage.mBodies[CoreMessage_TMessageKey.TAGLINE] = pTagline
-        return tmessage
-    }
-    
-    public static func backToSuperApp() -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.RESET_SUPER_APP
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        return tmessage
-    }
-    
-    public static func requestGPTBot(message: String) -> TMessage {
-        let tmessage = TMessage()
-        tmessage.mCode = CoreMessage_TMessageCode.GPT
-        tmessage.mStatus = CoreMessage_TMessageUtil.getTID()
-        tmessage.mPIN = UCUtils.getMyPin() ?? ""
-        tmessage.mBodies[CoreMessage_TMessageKey.MESSAGE_TEXT] = message
-        return tmessage
-    }
-    
-}

+ 0 - 783
appbuilder-ios/NexilisUC/NexilisUC/Source/Message/CoreMessage_TMessageCode.swift

@@ -1,783 +0,0 @@
-//
-//  CoreMessage_TMessageCode.swift
-//  NexilisUC
-//
-//  Created by Maronakins on 04/11/24.
-//
-
-import Foundation
-
-public class CoreMessage_TMessageCode {
-    
-    public static let HEART_BEAT = "H";
-    
-    public static let PUSH_INCOMING_EMAIL      = "PIM";
-    
-    public static let WEB_LOGIN_QR = "WLQR";
-    
-    public static let REQUEST_NPM                        = "B0";
-    public static let PUSH_NPM                           = "B1";
-    public static let CHANGE_USER_ID                   = "B2";
-    public static let REQUEST_BUDDIES                     = "B3";
-    public static let REQUEST_GROUPS                   = "B4";
-    public static let REQUEST_GROUP                    = "B4A";
-    public static let REQUEST_GROUPS_WITHOUT_MEMBER    = "B4B";
-    public static let REQUEST_GROUP_MEMBERZ            = "B5";
-    public static let SUBMIT_FRESH_REGISTRATION        = "B6";
-    public static let SUBMIT_EMAIL_REGISTRATION        = "B7";
-    public static let SEND_EMAIL_LOGIN_CODE             = "IH8";
-    public static let SEND_LOGIN_CODE_SIGNUP             = "B8A";
-    public static let RETRIEVE_LOGIN_SUGGEST             = "B8B";
-    public static let REQUEST_BLOGS_AT_PLACE              = "B9";
-    public static let SUBMIT_BACKDOR_REGISTRATION      = "Ba";
-    public static let SEND_EMAIL_CHANGE_CODE              = "Bb";
-    public static let PUSH_COIN                          = "Bc";
-    public static let UPDATE_TICKER                    = "Bd";
-    public static let DELETE_TICKER                    = "Be";
-    public static let DELETE_ALL_TICKER                = "Bf";
-    public static let REQUEST_STICKER_SET_LIST         = "Bg";
-    public static let REQUEST_STICKER_SET_DETAIL         = "Bh";
-    public static let REQUEST_STICKER                     = "Bi";
-    public static let PUSH_STICKER_SET_SIMPLE_DETAIL     = "Bj";
-    public static let PUSH_STICKER_SET_DETAIL             = "Bk";
-    public static let PUSH_STICKER                     = "Bl";
-    public static let REQUEST_OFFICIAL_LIST        = "Bm";
-    public static let REQUEST_OFFICIAL_DETAIL        = "Bn";
-    public static let REQUEST_OFFICIAL_BLOG        = "Bo";
-    public static let PUSH_OFFICIAL_SIMPLE_DETAIL    = "Bp";
-    public static let PUSH_OFFICIAL_DETAIL            = "Bq";
-    public static let PUSH_OFFICIAL_BLOG            = "Br";
-    public static let PUSH_TICKER_V2                 = "Bs";
-    public static let DELETE_CHATROOM                 = "Bt";
-    public static let PROFILE_VOIP                 = "Bu";
-    public static let PROFILE_VCALL                 = "Bv";
-    public static let SEND_COMMUNITY_MESSAGE        = "Bw";
-    public static let REQUEST_N_COMMUNITY_USERS    = "Bx";
-    public static let JOIN_APP                      = "By";
-    public static let LEAVE_APP                     = "Bz";
-    public static let UPDATE_EVENT                   = "BA";
-    public static let RESET_EVENT                   = "BB";
-    public static let CREATE_CHAT                   = "BC";
-    public static let UPDATE_CHAT                   = "BD";
-    public static let CHANGE_BATCH_TOPIC_INFO      = "BD01";
-    public static let CHANGE_BATCH_TOPIC_MEMBER    = "BD02";
-    public static let DELETE_CHAT                   = "BE";
-    public static let PUSH_CHAT                       = "BF";
-    public static let PUSH_DISCUSSION              = "DFR";
-    public static let PUSH_CLIENT_ADDRESS          = "PCA";
-    public static let UPLOAD_BLOG_COMMENT_V2        = "BG";
-    public static let UPDATE_BLOG_COMMENT_STATUS   = "BH";
-    public static let REQUEST_BLOG_COMMENT         = "BI";
-    public static let REQUEST_USER_ACHIEVEMENTS       = "BJ";
-    public static let PUSH_USER_ACHIEVEMENT           = "BK";
-    public static let UPDATE_USER_ACHIEVEMENTS       = "BL";
-    public static let UPLOAD_BLOG_LIKE                   = "BM";
-    public static let PUSH_BLOG_LIKE                   = "BN";
-    public static let REQUEST_SERVER_NOTIFICATION  = "BO";
-    public static let PUSH_SERVER_NOTIFICATION     = "BP";
-    public static let REQUEST_LIVE_TV              = "BQ";
-    public static let PUSH_LIVE_TV                 = "BR";
-    public static let REQUEST_LIVE_TV_LIST         = "BS";
-    public static let PUSH_CREATE_LIVEVIDEO_NOTIFICATION
-        = "BT";
-    public static let REQUEST_VOD                  = "BU";
-    public static let PUSH_CANCEL_LIVEVIDEO_NOTIFICATION
-        = "BV";
-    public static let REQUEST_SUGGESTION_LIST      = "BW";
-    public static let PUSH_SUGGESTION              = "BX";
-    public static let CHANGE_PRIVACY_FLAG          = "BY";
-    
-    public static let REQUEST_SUGGESTION_BUNDLE_LIST
-        = "BZ";
-    public static let PUSH_SUGGESTION_BUNDLE       = "C0";
-    
-    public static let SEND_UPDATE_TYPING           = "C1";
-    public static let OPEN_CLOSE_EDITOR           = "C1X";
-    public static let REQUEST_PERSON_BY_NAME       = "C11";
-    public static let SUBMIT_NAME_REGISTRATION     = "C12";
-    public static let SUBMIT_LOGIN_PIN             = "IH13";
-    public static let CHANGE_CONNECTION_ID         = "CCI";
-    public static let SUBMIT_MEMBER_REGISTRATION   = "C14";
-    public static let REQUEST_GROUPS_BY_AREA       = "C15";
-    public static let REQUEST_JOIN_GROUP             = "C16";
-    public static let SUBMIT_WISHLIST              = "C17";
-    public static let RETRIEVE_WISHLIST            = "C18";
-    public static let WALLET_TRANSFER              = "C19";
-    public static let WALLET_PUSH                  = "C20";
-    public static let JOIN_CHAT                    = "C21";
-    public static let GET_TRENDING_TOPIK           = "C22";
-    public static let DELETE_WISHLIST              = "C25";
-    public static let RETRIEVE_WISHLIST_SELF       = "C26";
-    public static let SEND_EXCEPTION = "C28";
-    public static let SEND_UPDATE_READ = "C29";
-    public static let SEND_UPDATE_READ_SINGLE = "SURS";
-    public static let PUSH_GROUP_MEMBER_BATCH = "A009A";
-    
-    
-    public static let CONNECTION_CHECK     = "A";
-    public static let CONNECTED            = "A00";
-    public static let ENTER_CELL           = "A01";
-    public static let ACKNOWLEDGMENT        = "A02";
-    public static let DISABLE_LOCATION     = "A03";
-    public static let ENABLE_LOCATION      = "A03A";
-    public static let INVALID_PIN          = "A04";
-    public static let DISCONNECTED         = "A05";
-    public static let PROCESS_NOK          = "A06";
-    public static let SEND_IPC_MESSAGE        = "A07";
-    public static let MOVED                   = "A08";
-    public static let NCKNOWLEDGMENT          = "A09";
-    public static let ONLINE                  = "A000";
-    public static let OFFLINE                 = "A999";
-    public static let AWAKE                  = "A0000";
-    public static let SLEEP                 = "A9999";
-    
-    public static let UPDATE_CTEXT              = "A002";
-    public static let DELETE_CTEXT              = "S0D";
-    public static let DELETE_CONVERSATION      = "A0021A";
-    public static let UPDATE_MESSAGE              = "A0022";
-    public static let CHANGE_PERSON_INFO       = "A003";
-    public static let ADD_BUDDY                = "A005";
-    public static let REQUEST_BUDDY               = "A0051";
-    public static let PUSH_BUDDY               = "A0052";
-    public static let REQUEST_ONLINE_BUDDIES     = "A0053";
-    public static let PUSH_ONLINE_BUDDIES         = "A0054";
-    public static let ACCEPT_BUDDY             = "A0055";
-    public static let DELETE_BUDDY                = "A006";
-    public static let CREATE_GROUP                = "A007";
-    public static let EXIT_GROUP                = "A008";
-    public static let PUSH_GROUP_MEMBER         = "A009";
-    public static let CHANGE_GROUP_INFO        = "A010";
-    public static let LOAD_MESSAGE_CACHE        = "LMC";
-    
-    public static let ADD_MEMBER             = "A011";
-    public static let PUSH_GROUP           = "A012";
-    public static let PUSH_GROUP_A         = "A012A";
-    public static let CHANGE_LOCATION      = "A013";
-    public static let SUBMIT_REGISTRATION  = "A014";
-    public static let UPLOAD_TICKER        = "A015";
-    public static let PUSH_TICKER          = "A016";
-    public static let INIT_PAYMENT         = "A017";
-    public static let PUSH_PAYMENT         = "A018";
-    public static let CHOOSE_PAYMENT       = "A019";
-    public static let UPLOAD_SVIDEO        = "A020";
-    
-    //    public static let FOLLOW_BUDDY         = "A021";
-    //    public static let UNFOLLOW_BUDDY       = "A022";
-    public static let UPLOAD_IMAGE_TICKER  = "A023";
-    public static let CHANGE_TIMEZONE      = "A024";
-    public static let UPLOAD_BLOG              = "A025";
-    public static let ADD_INVITATION          = "A026";
-    public static let REQUEST_REFERRERS    = "A027";
-    public static let PUSH_REFERRER          = "A028";
-    public static let CHOOSE_REFERRER      = "A029";
-    
-    public static let CHANGE_OFFMP            = "A030";
-    public static let UPLOAD_NETWORK_TYPE     = "A031";
-    public static let PUSH_CHATROOM        = "A032";
-    public static let EXIT_CHATROOM        = "A033";
-    public static let ENTER_CHATROOM        = "A034";
-    public static let UPLOAD_FILE          = "A035";
-    public static let UPLOAD_FILE_PROGRESS = "A0351";
-    public static let PUSH_IMAGE           = "A036";
-    public static let PUSH_MYSELF            = "A037";
-    public static let PUSH_MYSELF_ACK       = "A037A";
-    public static let CREATE_PLACE            = "A038";
-    public static let PUSH_PLACE            = "A039";
-    
-    public static let CREATE_CHATROOM        = "A040";
-    public static let REQUEST_PLACE        = "A041";
-    public static let REQUEST_CHATROOM     = "A042";
-    public static let PUSH_TICKER_QUEUE    = "A043";
-    public static let INIT_TICKER_ON_PLACE = "A044";
-    public static let SHUTDOWN             = "A045";
-    public static let TRIAL_VERSION        = "A046";
-    public static let INIT_BLOG_COMMENT    = "A047";
-    public static let PUSH_BLOG_COMMENT    = "A048";
-    public static let UPLOAD_BLOG_COMMENT    = "A049";
-    
-    public static let POST_REGISTRATION     = "A050";
-    public static let POST_REGISTRATION_IOS     = "A050S";
-    public static let ACTIVATE_TAXI           = "A051";
-    public static let DEACTIVATE_TAXI         = "A052";
-    public static let START_TAXI              = "A053";
-    public static let STOP_TAXI             = "A054";
-    public static let FIND_TAXI               = "A055";
-    public static let PUSH_TAXI               = "A056";
-    public static let PUSH_PASSENGER          = "A057";
-    public static let UPDATE_TAXI           = "A059";
-    
-    public static let PUSH_BLOG     = "A060";
-    public static let INIT_BLOG     = "A061";
-    public static let ENTER_BLOG     = "A062";
-    public static let SHARE_VIDEO     = "A063";
-    public static let BLOCK_BUDDY   = "A064";
-    public static let UNBLOCK_BUDDY = "A065";
-    public static let PUSH_SVIDEO   = "A066";
-    public static let UPLOAD_VIDEO     = "A067";
-    public static let NOTIFY_BLOG     = "A068";
-    public static let NOTIFY_SVIDEO = "A069";
-    
-    public static let INIT_SVIDEO                = "A070";
-    public static let BLOCK_GROUP                = "A071";
-    public static let UNBLOCK_GROUP            = "A072";
-    public static let UPLOAD_AUDIO                = "A073";
-    public static let PUSH_VIDEO               = "A074";
-    public static let PUSH_AUDIO               = "A075";
-    public static let PUSH_PLACE_ON_CELL     = "A076";
-    public static let ENTER_PLACE              = "A077";
-    public static let RETRIEVE_PLACE_ON_CELL = "Aa";
-    public static let EXIT_PLACE               = "A078";
-    public static let PUSH_CHATROOM_ON_PLACE = "A079";
-    
-    //  public static let REQUEST_CHATROOM             = "A080";
-    public static let INIT_SIMAGE                 = "A081";
-    public static let UPLOAD_MYIMAGE               = "A082";
-    public static let PUSH_MYIMAGE                 = "A083";
-    public static let NOTIFY_SIMAGE               = "A084";
-    public static let CHANGE_HLOCATION_STATUS     = "A085";
-    public static let CHANGE_OFFLINE_MODE         = "A086";
-    public static let UPLOAD_THUMB                 = "A087";
-    public static let PUSH_THUMB                = "A088";
-    public static let UPDATE_BLOG_STATUS         = "A089";
-    
-    public static let UPDATE_MYIMAGE_STATUS         = "A090";
-    public static let CHANGE_GROUP_MEMBER_POSITION = "A091";
-    public static let CHANGE_PLACE_INFO            = "A092";
-    public static let DELETE_PLACE                 = "A093";
-    public static let ADD_MULTIPLE_BUDDIES            = "A094";
-    public static let CANCEL_INVITATION            = "A095";
-    public static let REMOVE_REFERRER                  = "A096";
-    public static let DECLINE_DOWNLINE                  = "A097";
-    public static let REFRESH_GROUP                = "A098";
-    public static let ADD_FRIEND                   = "A099";
-    public static let ADD_FRIEND_QR                = "A100";
-    public static let ADD_FRIEND_IMEI              = "A100A";
-    public static let REMOVE_FRIEND                = "A100B";
-    public static let CHECK_FRIEND                 = "A100C";
-    public static let CONTACT_LIST                 = "CL";
-    
-    //    public static let REQUEST_APPS          = "A100";
-    //    public static let PUSH_APP_PREVIEW      = "A101";
-    //    public static let PUSH_APP_DETAIL       = "A102";
-    //    public static let JOIN_APP              = "A103";
-    //    public static let LEAVE_APP               = "A104";
-    //    public static let PUSH_APP              = "A105";
-    //    public static let REQUEST_APP_DETAIL    = "A106";
-    public static let ADD_MULTIPLE_BUDDIES_BY_EMAIL = "A108";
-    public static let IMAGE_DOWNLOAD = "A109";
-    
-    public static let REQUEST_FORM_LIST = "A112";
-    public static let FORM_PUSH = "A113";
-    public static let FORM_PUSH_UPDATE = "A113A";
-    public static let FORM_PIC_SUBMIT = "A114";
-    public static let SUBMIT_FORM    = "A115";
-    public static let APPROVE_FORM   = "A115A";
-    public static let FOLLOW_FORM = "A115B";
-    public static let SUB_ACTIVITY_UPDATE = "A115C";
-    public static let APPROVE_SUBMIT_STATUS   = "A115D";
-    
-    public static let FOLLOW_PERSON         = "B01";
-    public static let UNFOLLOW_PERSON       = "B02";
-    public static let PUSH_FOLLOW           = "B03";
-    public static let REQUEST_FOLLOWER_SIZE = "B04";
-    public static let PUSH_FOLLOWER_SIZE     = "B05";
-    
-    public static let INIT_SCREEN_DRAW      = "B06";
-    public static let START_DRAW            = "B07";
-    public static let ON_DRAW               = "B08";
-    public static let END_DRAW              = "B09";
-    public static let CLOSE_SCREEN_DRAW     = "B10";
-    public static let CLEAR_SCREEN_DRAW     = "B11";
-    
-    public static let REQUEST_FAMILY        = "B12";
-    public static let PUSH_FAMILY           = "B13";
-    public static let PUSH_FAMILY_MEMBER    = "B14";
-    public static let CREATE_FAMILY         = "B15";
-    public static let ADD_FAMILY_MEMBER     = "B16";
-    public static let PUSH_PARENT           = "B17";
-    public static let REQUEST_PARENT        = "B18";
-    public static let CHANGE_FAMILY_INFO    = "B19";
-    public static let REQUEST_CHILD         = "B20";
-    public static let PUSH_CHILD            = "B21";
-    public static let PUSH_EMAIL_USED       = "B22";
-    
-    public static let PUSH_ITEM             = "B23";
-    public static let SEND_ITEM             = "B24";
-    
-    public static let REQUEST_VOD_LIST         = "B25";
-    public static let REQUEST_VOD_LIST_BY_LAST_UPDATE = "B251";
-    public static let PUSH_VOD                 = "B26";
-    public static let UPDATE_VIDEO_VIEWS       = "B27";
-    
-    public static let CREATE_LIVE_VIDEO    = "B28";
-    public static let CREATE_LS = "B28a";
-    public static let START_LP_INVITED = "B28b";
-    public static let UPDATE_LIVE_VIDEO    = "ULV";
-    public static let REMOVE_LIVE_VIDEO    = "B29";
-    public static let JOIN_LIVE_VIDEO      = "B30";
-    public static let REQUEST_N_LIVE_VIDEO = "B31";
-    public static let REQUEST_LIVE_VIDEO   = "B32";
-    public static let REQUEST_LIVE_VIDEO_PUBLIC   = "B32B";
-    public static let PUSH_LIVE_VIDEO      = "B33";
-    public static let PUSH_LIVE_VIDEO_LIST = "B33A";
-    public static let PUSH_LIVE_VIDEO_LIST_PUBLIC = "B33B";
-    public static let PULL_FRIEND_LIST_INFO = "B33C";
-    public static let LEFT_LIVE_VIDEO      = "B34";
-    public static let START_LIVE_VIDEO      = "SLV";
-    public static let REQUEST_START_LIVE_VIDEO = "RLV";
-    public static let OUT_FROM_STREAMING_TAB   = "OLS";
-    
-    public static let SEMINAR_START_INVITED = "CSR0";
-    public static let SEMINAR_CREATE = "CSR1";
-    public static let SEMINAR_PUSH_CHAT = "CSR2";
-    public static let SEMINAR_PUSH_JOIN = "CSR3";
-    public static let SEMINAR_JOIN = "CSR4";
-    public static let SEMINAR_REMOVE = "CSR5";
-    public static let SEMINAR_LEFT = "CSR6";
-    public static let SEMINAR_PUSH_LEFT = "CSR7";
-    public static let SEMINAR_PUSH_RAISE_HAND = "CSR8";
-    public static let SEMINAR_DRAW = "CSR10";
-    public static let SEMINAR_FACE_DETECTION = "CSR11";
-    
-    public static let GET_BATCH_BUDDIES_BASED_SCROLL     = "C70";
-    public static let CHANGE_BATCH_PERSON_INFO_BASED_SCROLL = "A00X4";
-    
-    
-    public static let REQUEST_BUDDY_INFO     = "B35";
-    
-    public static let REQUEST_GROUP_MEMBER = "A107";
-    public static let REQUEST_OFFLINE_BUDDIES = "A108";
-    
-    public static let REQUEST_RSS = "C4";
-    public static let NEARBY_VISIBLE = "C5";
-    public static let NEARBY_INVISIBLE = "C6";
-    public static let TENDER = "C7";
-    public static let NOTIFICATION = "C8";
-    public static let LAUNCH_APP = "C9";
-    
-    public static let GET_QUOTES = "C32";
-    public static let SET_AUTO_QUOTE = "C33";
-    
-    public static let SEND_CHAT = "S0";
-    public static let SEND_CHAT_WEB = "Z10";
-    public static let NOTIFICATION_UPDATE = "NTF"; //S
-    public static let REQUEST_PERSON_BY_USERID     = "C27";
-    public static let REQUEST_PERSON_BY_DEVICEID       = "C44";
-    public static let UPDATE_PENDING_SID       = "C45";
-    public static let CHECKIN       = "C46";
-    public static let SEND_VERSION_STATE = "VRS"; //S
-    
-    
-    public static let GET_BALANCE   = "C35";
-    public static let GET_TOPUP     = "TPU";
-    public static let WALLET_GET   = "";
-    public static let WALLET_LOCK_UPDATE  = "C36";
-    public static let WALLET_LOCK_GET  = "C37";
-    public static let PUSH_PRODUCT                 = "C40";
-    public static let PUSH_STOCK       = "C41";
-    public static let WALLET_BUY       = "C42";
-    public static let QUERY_GET        = "C43";
-    public static let WALLET_BALANCE   = "C47";
-    
-    public static let CHANGE_BATCH_PERSON_INFO = "A004"; //S
-    public static let GET_BATCH_BUDDY_INFO     = "C48";
-    public static let PUSH_OFFICE     = "C49";
-    public static let GET_BUDDY_INFO = "C34";
-    public static let CHECKIN_POS = "C50";
-    public static let CHECKOUT_POS = "C51";
-    public static let REPLACE_OFFICE     = "RPO";
-    public static let REPLACE_BUDDIES = "RPP";
-    
-    public static let INIT_BATCH_BUDDY = "IBB";
-    public static let INIT_FOLLOW = "IBF";
-    public static let INIT_BATCH_GROUP = "IBG";
-    public static let INIT_BATCH_GROUP_NO_MEMBERS = "GNM";
-    public static let INIT_BATCH_TOPIC = "IBT";
-    public static let INIT_PREFS = "ITT";
-    public static let INIT_FLAG_FINISH = "IFF";
-    public static let INIT_FLAG_RESET  = "IFR";
-    
-    public static let GET_POS_TRANS_HISTORY = "C52";
-    public static let GET_POS_TRANS_HISTORY_DETAIL = "C53";
-    public static let CANCEL_TRANSACTION             = "C54";
-    public static let GET_COMMENTS             = "C55";
-    public static let SEND_COMMENTS             = "C56";
-    public static let ON_EDITOR_COMMENT         = "C57";
-    public static let DELETE_COMMENTS          = "C58";
-    public static let DELETE_POST          = "C59";
-    public static let GET_FOLLOW               = "A101";
-    public static let GET_UNFOLLOW               = "A102";
-    
-    public static let UPDATE_RUNNING_TEXT      = "URR";
-    public static let INCOMING_EMAIL      = "IE";
-    public static let INCOMING_SMS        = "ISMS";
-    public static let INCOMING_LOCATION      = "IL";
-    public static let INCOMING_GPS_STATE      = "IG";
-    public static let SHARE_FORUM      = "SFR";
-    public static let FOLLOW_FORUM      = "FLF";
-    public static let TASK_PROGRESS_DASHBOARD      = "DBD";
-    public static let TASK_PROGRESS_RETRIEVE      = "A117";
-    public static let TASK_PROGRESS_RETRIEVE_SUB_ACTIVITY      = "RPT_LV1";
-    public static let TASK_PROGRESS_RETRIEVE_TASK_TITLE      = "RPT_LV2";
-    public static let INCOMING_AUTO_MESSAGE  = "IAM";
-    public static let SCREEN_SHARING              = "SS";
-    public static let SCREEN_SHARING_STOP              = "SS1";
-    
-    public static let GET_FROM_SERVER = "GFS";
-    public static let CALL_SUGGESTION = "CSG";
-    
-    public static let LIVE_CONFERENCE_START = "LC01";
-    public static let LIVE_CONFERENCE_JOIN = "LC02";
-    public static let LIVE_CONFERENCE_TOA = "LC03";
-    public static let LIVE_CONFERENCE_ZOOM = "LC04";
-    public static let LIVE_CONFERENCE_MESSAGE_END = "LC05";
-    public static let LIVE_CONFERENCE_END = "LC99";
-    
-    public static let RESET_1 = "RST1";
-    public static let RESET_2 = "RST2";
-    public static let RESET_3 = "RST3";
-    
-    public static let SUBMIT_LOGIN_PAY = "BAA";
-    public static let SUBMIT_REGISTER_PAY = "BAB";
-    public static let SEND_EMAIL_LOGIN_CODE_PAY = "BAC";
-    public static let GET_PRODUCT_INFO = "BAD";
-    public static let VALIDATE_PAY = "BAE";
-    public static let CONFIRM_PAY = "BAF";
-    public static let CONFIRM_PAY_RESPONSE = "BAG";
-    
-    public static let SEND_SIGNUP_DATA = "SSU01";
-    public static let SEND_SIGNIN = "SSI01";
-    public static let RETRIEVE_TPS = "SSU02";
-    public static let RETRIEVE_REAL_COUNT = "SSU23";
-    public static let RETRIEVE_PERSON_BY_NAME = "SSU24";
-    public static let RETRIEVE_PERSON_SUGGESTION = "SSS24";
-    public static let RETRIEVE_PERSON_BY_PHOTO = "SSU27";
-    public static let UPLOAD_TIMELINE = "SSU03";
-    public static let PUSH_VGT = "SSU04";
-    public static let UPDATE_VGT_VIEWS       = "SSU05";
-    public static let CHANGE_PRIVACY = "SSU07";
-    public static let CHANGE_PUBLISH = "SSU08";
-    public static let PULL_MYSELF = "SSU09";
-    public static let EDIT_TIMELINE       = "SSU10";
-    public static let PARTICIPATE_TIMELINE       = "SSU11";
-    public static let GET_LIST_PARTICIPANT        = "SSU13";
-    public static let GET_CONTENT_PARTICIPATE        = "SSU14";
-    
-    public static let SEND_POST_SHARE="SSU12";
-    
-    public static let BILLING_TRANS_WARUNG             = "SSU20";
-    public static let BILLING_TRANS_WARUNG_CANCEL      = "SSU30";
-    public static let SCAN_PAY_TRANS_WARUNG        = "SSU21";
-    public static let PUSH_DATA_TRANS_WARUNG       = "SSU22";
-    
-    public static let GET_ADS = "GAD";
-    public static let TYPE_ADS = "A30";
-    
-    public static let GET_COUNT_POST_FOLLOWERS_FOLLOWING = "C60";
-    
-    
-    /**
-     * Web
-     */
-    public static let CONNECTED_FROM_WEB = "CFW";
-    public static let DISCONNECTED_FROM_WEB = "DFW";
-    public static let GET_INFO_MESSAGE_FROM_WEB = "Z07";
-    public static let RETRIEVE_UC_LIST = "Z08";
-    public static let LOAD_MORE_MESSAGE_FROM_WEB = "Z09";
-    
-    public static let SEND_CHAT_FROM_WEB = "Z10";
-    public static let SEND_UPDATE_READ_FROM_WEB = "Z11";
-    public static let DELETE_CHAT_FROM_WEB = "Z12";
-    public static let SEARCH_CHAT_FROM_WEB = "Z13";
-    public static let ADD_TAG_MESSAGE_FROM_WEB = "Z14";
-    public static let DELETE_CONVERSATION_FROM_WEB = "Z15";
-    public static let SEND_UPDATE_READ_SINGLE_FROM_WEB = "Z16";
-    public static let CONFIRMATION_IM_FROM_WEB = "Z18";
-    
-    public static let CHANGE_PERSON_INFO_FROM_WEB = "Z25";
-    public static let MARK_ALL_AS_READ_FROM_WEB = "Z26";
-    public static let UPDATE_MESSAGES_FROM_WEB = "Z27";
-    public static let LOAD_FAVORITE_MESSAGES_FROM_WEB = "Z28";
-    public static let GET_MESSAGE_OBJECT_FROM_WEB = "Z29";
-    public static let CREATE_GROUP_FROM_WEB = "Z30";
-    public static let DELETE_GROUP_FROM_WEB = "Z31";
-    public static let LEAVE_GROUP_FROM_WEB = "Z32";
-    public static let CHANGE_GROUP_INFO_FROM_WEB = "Z33";
-    public static let ADD_TOPIC_FROM_WEB = "Z36";
-    public static let REMOVE_TOPIC_FROM_WEB = "Z37";
-    public static let UPDATE_TOPIC_FROM_WEB = "Z38";
-    public static let CHANGE_GROUP_MEMBER_POSITION_FROM_WEB = "Z41";
-    public static let ADD_MEMBER_FROM_WEB = "Z39";
-    public static let REMOVE_MEMBER_FROM_WEB = "Z40";
-    public static let LOAD_EMAIL_FROM_WEB = "Z51";
-    public static let ADD_EMAIL_FROM_WEB = "Z52";
-    public static let CONNECT_DISCONNECT_EMAIL_FROM_WEB = "Z53";
-    public static let REMOVE_EMAIL_FROM_WEB = "Z54";
-    
-    public static let GET_DATA_CALENDAR_FROM_WEB = "Z58";
-    public static let VIEW_MEDIA_FROM_WEB = "Z59";
-    public static let POST_REACTION = "Z60";
-    public static let POST_RETRIEVE = "PSR";
-    public static let POST_INCOMING = "PSI";
-    
-    public static let POST_RETRIEVE_STRUCTURE = "PRS";
-    public static let POST_RETRIEVE_CONTENT = "PRC";
-    
-    public static let POST_RETRIEVE_STRUCTURE_NEWEST = "PRSa";
-    public static let POST_RETRIEVE_STRUCTURE_PREVIOUS = "PRSz";
-    
-    public static let POST_INCOMING_STRUCTURE = "PIS";
-    public static let POST_INCOMING_CONTENT = "PIC";
-    public static let POST_REMOVE_CONTENT = "PRC";
-    
-    public static let FACE_RECOGNITION = "FAE";
-    public static let FACE_RECOGNITION_KTP = "FAEQ";
-    public static let FACE_RECOGNITION_TWOFACE = "FAET";
-    public static let FACE_RECOGNITION_COMPARE = "FRC";
-    
-    public static let LIVE_PROFILE_PUSH_JOIN = "LPJ";
-    public static let LIVE_PROFILE_PUSH_LEAVE = "LPL";
-    public static let LIVE_PROFILE_PUSH_CHAT = "LPC";
-    public static let LIVE_PROFILE_EMOTION_SEND = "LPES";
-    public static let LIVE_PROFILE_EMOTION_GET = "LPEG";
-    
-    public static let POST_REPORT = "Z61";
-    public static let SAVE_CALL_HISTORY = "CH";
-    public static let CONCALL_INVITATING = "IV";
-    
-    public static let POST_INCREASE_VIEWER = "PIV";
-    
-    public static let GET_LIST_FOLLOWER = "GLF";
-    public static let GET_LIST_LIKE = "GLL";
-    public static let GET_LIST_FOLLOWING = "GLG";
-    
-    public static let GET_OFFLINE_MESSAGES = "GOM";
-    public static let GET_OFFLINE_MESSAGES_COUNTER = "GOC";
-    public static let LOGIN_FILE = "LF";
-    public static let INIT_BATCH_NEW_DF = "IDF";
-    public static let INIT_BATCH_NEW_DF_FORM = "IDO";
-    public static let RESET_UPGRADE = "RSU";
-    public static let RESET_FORCE   = "RSF";
-    public static let VERSION_CHECK   = "VC";
-    
-    public static let GET_LOGIN_BY_SMS_ENABLED = "SMSE";
-    public static let UPDATE_IP_ADDRESS = "UIP";
-    public static let UNKNOWN_MESSAGE = "UNKM";
-    public static let DIF_OPEN   = "DFO";
-    public static let SEND_UPDATE_UNREAD = "C30";
-    public static let SEND_UPDATE_READ_WEB = "Z11";
-    public static let SEND_UPDATE_READ_SINGLE_WEB = "Z16";
-    public static let DELETE_IM_WEB = "Z12";
-    public static let UPDATE_MESSAGES_WEB = "Z27";
-    public static let CONFIRMATION_IM_WEB = "Z18";
-    public static let ADD_TAG_IM_WEB = "Z14";
-    public static let SEND_UPDATE_READ_BY_TIME = "C29T";
-    
-    public static let GET_TRANS_HISTORY   = "SSU25";
-    public static let GET_TRANS_DETAIL   = "SSU26";
-    
-    public static let GET_BLOCK = "A120";
-    public static let GET_UNBLOCK = "A121";
-    
-    public static let VIDEO_CALL_PUSH_CHAT = "VCC";
-    
-    public static let ASKING_FOR_END_CALL = "ASKE";
-    
-    public static let END_CALL = "ENCL";
-    public static let INCOMING_CALL_CC = "ICS";
-    
-    public static let POST_RETRIEVE_PROFILE = "PIP";
-    public static let POST_RETRIEVE_TIMELINE = "PIT";
-    public static let POST_RETRIEVE_BY_ID = "PID";
-    public static let POST_UPDATE_STORY      = "PUS";
-    
-    public static let GET_SIMPLE_PERSON_INFO = "CP5";
-    
-    public static let PULL_MESSAGE = "PMS";
-    public static let PULL_MESSAGE_PREVIEW = "PMP";
-    public static let PULL_STORY_LIST      = "PSL";
-    public static let PULL_STORY_LIST_PERSONAL = "PSLP";
-    public static let PULL_MAIN_CONTENT    = "PMC";
-    public static let PULL_CHANNEL_LIST    = "PCL";
-    public static let SUSPEND_USER    = "SPU";
-    public static let GET_OPEN_GROUPS = "GOG";
-    public static let CHAT_FILTER     = "CFL";
-    
-    public static let ASKING_RESPONSE = "AKR";
-    public static let TRX = "TRX";
-    public static let FETCH_LINK = "FLI";
-    public static let GET_PERSON_NEARBY = "NRB";
-    
-    public static let SUBMIT_SURVEY_COVID = "SCV";
-    public static let SUBMIT_SURVEY_COVID_ADDITIONAL = "SCVA";
-    public static let NOTIFICATION_COVID = "NTFC";
-    public static let GET_FRM_DATA_COVID = "GFRM1";
-    public static let SUBMIT_FRM_DATA_COVID = "SFRM1";
-    public static let GET_FRM_PENERIMAAN_APD_COVID = "GFRM2";
-    public static let SUBMIT_FRM_PENERIMAAN_APD_COVID = "SFRM2";
-    public static let GET_FRM_USAGE_COVID = "GFRM3";
-    public static let SUBMIT_FRM_USAGE_COVID = "SFRM3";
-    public static let GET_FRM_RESEP = "GFRM4";
-    public static let SUBMIT_FRM_RESEP = "SFRM4";
-    
-    
-    public static let GET_PERSON_BY_NAME = "USR";
-    public static let GET_PERSON_BY_PIN  = "TRC";
-    public static let GET_SITUASI_COVID  = "CVS";
-    public static let GET_DOCTOR_NEARBY  = "GDN";
-    
-    public static let GET_BLE_NEARBY  = "BLN";
-    public static let CHANGE_USER_TYPE  = "CUT";
-    
-    public static let GET_LS_INFO = "LS01";
-    public static let VC_ROOM_CREATE = "VCR";
-    public static let VC_ROOM_START = "VCR1";
-    public static let VC_ROOM_JOIN = "VCR2";
-    public static let VC_ROOM_END = "VCR2";
-    public static let VC_ROOM_WHITEBOARD_IMAGE = "VCR3";
-    public static let VC_ROOM_DRAW = "VCR4";
-    
-    //Signup-Signin MSISDN dan OTP
-    public static let VERIFY_OTP = "VOTP";
-    public static let SEND_SIGNUP_MSISDN = "B8C";
-    public static let SEND_CHANGE_MSISDN = "B8D";
-    public static let SEND_SIGNIN_OTP = "SSI01A";
-    public static let SEND_SIGNUP_OTP = "SSU01O";
-    public static let SEND_VERIFY_LOGIN = "SVL";
-    public static let SEND_OTP_LOGIN = "SOTL";
-    
-    //Whiteboard
-    public static let DRAW_WHITEBOARD = "DWB";
-    
-    //APN
-    public static let APN_TOKEN   = "ATO";
-    
-    //sub group
-    public static let CREATE_SUB_GROUP   = "A007A";
-    
-    
-    //REGISTER VS
-    public static let SEND_LOGIN_EMAIL = "SLE";
-    public static let SEND_VERIFICATION = "SVE";
-    
-    public static let GET_LIST_SCHOOL = "GLS";
-    
-    public static let UPDATE_USER = "RQJU";
-    public static let REQUEST_TEACHER_SCHOOL = "GLS8";
-    public static let REQUEST_STUDENT = "GLS7";
-    public static let APPROVE_REQUEST_STUDENT = "GLS4";
-    public static let GET_REQUEST_TEACHER = "GLS5";
-    public static let APPROVE_REQUEST_TEACHER = "GLS6";
-    public static let GET_REQUEST_STUDENT = "GLS3";
-    public static let GET_LIST_CLASS_NAME = "GLC";
-    public static let SUBMIT_SCHOOL = "GLS2";
-    
-    public static let SUB_ACCOUNT_DETAIL = "SAD";
-    public static let SUB_ACCOUNT_LIST = "SAL";
-    public static let SUB_ACCOUNT_SUBMIT = "SAS";
-    public static let SUB_ACCOUNT_CHANGE = "SAC";
-    public static let SUB_ACCOUNT_PUSH_FILTERING = "SAF";
-    
-    public static let IS_INITIATOR_JOIN = "CSR9";
-    public static let QUIZ_DETAIL = "QZD";
-    public static let QUIZ_ANSWER = "QZA";
-    public static let QUIZ_SCORING = "QZS";
-    
-    public static let REQUEST_CALL_CENTER = "CC01"; // sync
-    public static let PUSH_CALL_CENTER = "CC02"; // async
-    public static let ACCEPT_CALL_CENTER = "CC03"; // sync
-    public static let END_CALL_CENTER = "CC04"; // sync
-    public static let MANAGEMENT_CONTACT_CENTER = "CC05";
-    public static let FEATURE_ACCESS = "FA01";
-    public static let BROADCAST_MESSAGE = "BM01";
-
-    public static let SIGN_IN_API_CREATOR = "SIA02";
-    public static let SIGN_IN_API_ADMIN = "SIA03";
-    public static let SIGN_IN_API_INTERNAL = "SIA04";
-    public static let TIMEOUT_CONTACT_CENTER = "CC06";
-
-    public static let CHANGE_PSWD_ADMIN = "CP01";
-    public static let CHANGE_PSWD_INTERNAL = "CP02";
-    public static let EMAIL_CONTACT_CENTER = "CC07";
-    public static let QUEUING_CONTACT_CENTER = "CC08";
-    public static let STATUS_CONTACT_CENTER = "CC09";
-    public static let DRAW_CONTACT_CENTER = "CC10";
-    public static let ADD_CALL_CONTACT_CENTER = "CC11";
-    public static let END_CALL_CONTACT_CENTER = "CC12";
-    public static let IS_ACTIVE_CALL_CONTACT_CENTER = "CC13";
-    public static let INVITE_TO_ROOM_CONTACT_CENTER = "CC14";
-    public static let ACCEPT_CONTACT_CENTER = "CC15";
-    public static let PUSH_MEMBER_ROOM_CONTACT_CENTER = "CC16";
-    public static let INVITE_END_CONTACT_CENTER = "CC17";
-    public static let INVITE_EXIT_CONTACT_CENTER = "CC18";
-    public static let REQUEST_SECOND_CONTACT_CENTER = "CC19"; // sync
-    public static let PUSH_SECOND_CONTACT_CENTER = "CC20";
-    public static let RESPOND_SECOND_CONTACT_CENTER = "CC21"; // sync
-    public static let GET_WORKING_AREA_CONTACT_CENTER = "CC22"; // sync
-    public static let PUSH_SUBSCRIPTION_SIZE = "PS01";
-    
-    public static let SIGN_UP_API = "SUA01";
-    public static let CHECK_PSWD = "CPW";
-    
-    public static let GET_LIST_DISCUSSION = "GLD";
-    public static let GET_DISCUSSION_COMMENT = "GDC";
-    public static let LEAVE_DISCUSSION_COMMENT = "LDC";
-    public static let SEND_DISCUSSION_COMMENT = "SDC";
-    public static let PUSH_DISCUSSION_COMMENT = "PDC";
-    
-    public static let SEND_OTP_CHANGE_DEVICE = "SOTD";
-    public static let SEND_OTP_CHANGE_DEVICE_GASPOL = "SOTG";
-    public static let SEND_OTP_CHANGE_PROFILE = "SOTP";
-    public static let SEND_VERIFY_CHANGE_DEVICE = "SVTD";
-    
-    public static let PULL_GROUP_CATEGORY = "PGC";
-    public static let GET_SERVICE_BNI = "GBNI";
-    public static let PUSH_SERVICE_BNI = "PBNI";
-    public static let REQUEST_TICKET_BNI = "RTB";
-    public static let REQUEST_TOP_UP_BNI = "RTP";
-    public static let PULL_FLOATING_BUTTON = "PFB";
-    
-    public static let GET_CUSTOMER_INFO = "GCI"; // sync
-    public static let INQUIRY = "INQ";
-    public static let MOBILE_INQUIRY = "MINQ";
-    
-    public static let SIGN_UP_AND_SIGN_IN_API = "SUAI01";
-    public static let BACKUP_AVAILABILITY = "BUA2";
-    public static let BACKUP_UPLOADED = "BUU2";
-    public static let BACKUP_RESTORED = "BUR2";
-    
-    public static let LOGOUT = "LGT";
-    
-    public static let FORWARD_MESSAGE = "C2";
-    public static let WB_INCOMING = 101;
-    public static let WB_OFFHOOK = 102;
-    public static let WB_RINGING = 103;
-    public static let WB_ACCEPT_INCOMING = 104;
-    public static let WB_REJECT_INCOMING = 105;
-    public static let WB_END = 108;
-
-    public static let SS_INCOMING = 121;
-    public static let SS_OFFHOOK = 122;
-    public static let SS_RINGING = 123;
-    public static let SS_ACCEPT_INCOMING = 124;
-    public static let SS_REJECT_INCOMING = 125;
-    public static let SS_END = 128;
-    
-    public static let GET_BATCH_GROUP_NO_MEMBERS = "GGNM";
-    
-    public static let CALLING = "CALL";
-    public static let NOTIFY_TO_CALLING = "NTC";
-    public static let CANCEL_CALL_NOTIFICATION = "CCN";
-    
-    public static let FEATURE_ACCESS_ALL = "FA02";
-    
-    public static let PAYMENT_NOTIFICATION = "PAY";
-    
-    public static let ALERT_NEW_SIGN_IN = "ANSI";
-
-    public static let SHIELD_SECURITY_VALIDATE_TOKEN = "SSVT";
-    public static let BLOCK_ACCESS = "BLK";
-    
-    public static let RESET_SUPER_APP = "RSA";
-    public static let GPT = "GPT";
-}

+ 0 - 499
appbuilder-ios/NexilisUC/NexilisUC/Source/Message/CoreMessage_TMessageKey.swift

@@ -1,499 +0,0 @@
-//
-//  CoreMessage_TMessageKey.swift
-//  NexilisUC
-//
-//  Created by Maronakins on 04/11/24.
-//
-
-import Foundation
-
-public class CoreMessage_TMessageKey {
-    
-    public static let SIM_OPERATOR = "B0"
-    public static let CELL_SECTION   = "B1"
-    public static let SIGNAL_LEVEL   = "B2"
-    public static let SIGNAL_TYPE    = "B3"
-    public static let BROADCAST_FLAG = "B4"
-    public static let BROADCAST_ID   = "B40"
-    public static let MSISDN           = "B5"
-    public static let EMAIL           = "B6"
-    public static let USER_ID           = "B7"
-    public static let USER_TYPE       = "B7T"
-    public static let F_USER_ID       = "B8"
-    public static let L_USER_ID       = "B9"
-    
-    public static let WEB_ADDRESS       = "Ba"
-    public static let IMEI           = "Bb"
-    public static let IMSI           = "Im"
-    public static let N_COMMENTS     = "Bc"
-    public static let VERCOD         = "Bd"
-    public static let VERIFY         = "Bdv"
-    public static let N_LIMIT           = "Be"
-    public static let READ_RECEIPTS  = "Bf"
-    public static let N_COINS          = "Bg"
-    public static let STICKER_ID     = "Bh"
-    public static let STICKER_SET_ID = "Bi"
-    public static let PRICE             = "Bj"
-    public static let DELIVERY       = "Dv"
-    public static let LINK              = "Bk"
-    public static let N_MEMBERS      = "Bl"
-    public static let PSWD            = "Bm"
-    public static let PSWD_OLD      = "Bm0";
-    public static let N_DOWNLOADS    = "Bn"
-    public static let DEVICE_BRAND   = "Bo"
-    public static let DEVICE_MODEL   = "Bp"
-    public static let SDK_INT        = "Bq"
-    public static let WIFI_STATUS    = "Br"
-    public static let AUTO_QUOTE     = "Bw"
-    public static let KEY               = "Bt"
-    public static let VALUE           = "Bu"
-    public static let PLATFORM       = "BX"
-    public static let VB_STATUS        = "Bx"
-    public static let OPPOSITE_PIN   = "OP1"
-    public static let CHAT_ID        = "BA"
-    public static let BLOG_COMMENT_ID = "BB"
-    public static let QUANTITY       = "BC"
-    public static let ACHIEVEMENT_ID = "BD"
-    
-    public static let SEQUENCE       = "BE"
-    public static let LAST_SEQUENCE  = "BF"
-    
-    public static let LAST_BLOG_ID   = "BG"
-    public static let DURATION       = "BH"
-    public static let STREAM_ID      = "BI"
-    public static let LABEL          = "BJ"
-    public static let VOD_ID         = "BK"
-    public static let COMMENTS       = "BL"
-    public static let TV_ID          = "BM"
-    public static let FILE_ID        = "BN"
-    public static let FILE_TYPE = "BN2"
-    public static let FILE_THUMB = "BN3"
-    public static let FILE_SUMMARIZATION   = "BN4";
-    public static let CHAT_MODIFIER  = "BO"
-    public static let EXTENDED       = "BP"
-    public static let F_DISPLAY_NAME  = "BR"
-    public static let L_DISPLAY_NAME  = "BS"
-    public static let ANDROID_VERSION = "BT"
-    public static let VGT_ID         = "BY"
-    
-    public static let F_PIN             = "A00"
-    public static let F_PIN_REAL = "A00real"
-    public static let L_PIN             = "A01"
-    public static let FIRST_NAME        = "A02"
-    public static let LAST_NAME        = "A03"
-    public static let GROUP_ID         = "A04"
-    public static let IS_OPEN             = "IOP"
-    public static let GROUP_NAME         = "A05"
-    public static let MESSAGE_SCOPE_ID = "A06"
-    public static let MESSAGE_TEXT     = "A07"
-    public static let MESSAGE_TEXT_ENG     = "A07_eng"
-    public static let MESSAGE_IMAGE     = "A08"
-    //    public static let MESSAGE_STATUS     = "A09"
-    public static let CONNECTED         = "A10"
-    public static let LAST_UPDATE         = "A11"
-    public static let LATITUDE         = "A12"
-    public static let LONGITUDE         = "A13"
-    public static let ALTITUDE         = "A14"
-    public static let STATUS             = "A15"
-    public static let QUOTE             = "A16"
-    public static let IMAGE             = "A17"
-    public static let MESSAGE_ID        = "A18"
-    public static let SERVER_DATE        = "A19"
-    
-    public static let _ID                = "A20"
-    public static let CELL                = "A21"
-    public static let LAST_LOC_UPDATE    = "A22"
-    public static let UPLINE_PIN        = "A23"
-    public static let EMPTY_1            = "A24"
-    public static let EMPTY_2            = "A25"
-    public static let TIMEZONE            = "A26"
-    public static let PRIVACY_FLAG        = "A27"
-    public static let CREATED_BY         = "A28"
-    public static let CREATED_DATE     = "A29"
-    
-    public static let MEDIA_TYPE          = "A30"
-    public static let MESSAGE_IMAGE_NAME = "A31"
-    public static let MESSAGE_VIDEO      = "A32"
-    public static let MESSAGE_VIDEO_NAME = "A33"
-    public static let EMPTY_3               = "A34"
-    public static let TICKER_ID          = "A35"
-    public static let BODY                    = "A36"
-    public static let TITLE              = "A37"
-    public static let TYPE               = "A38"
-    public static let PAYMENT_ID           = "A39"
-    public static let STORY_ID           = "STI"
-    
-    public static let DESCRIPTION   = "A40"
-    public static let DESCRIPTION_2 = "A41"
-    public static let REG_STATUS    = "A42"
-    public static let BLOCK         = "A43"
-    public static let PATH          = "A44"
-    public static let VIDEO          = "A45"
-    public static let VIDEO_TITLE     = "A46"
-    public static let VIDEO_ID        = "A47"
-    public static let OFFLINE_MODE     = "A48"
-    //    public static let FOLLOW          = "A49"
-    
-    public static let TICKER_ICON_NAME  = "A50"
-    public static let TICKER_IMAGE_NAME = "A51"
-    public static let BLOG_ID              = "A52"
-    public static let FILE_NAME          = "A53"
-    public static let PART_SIZE         = "A53A"
-    public static let PART_OF           = "A53B"
-    public static let FILE_SIZE         = "A53C"
-    public static let RECORD_SIZE       = "A53D"
-    public static let OFFMP              = "A54"
-    public static let NETWORK_TYPE         = "A55"
-    public static let RADIUS             = "A56"
-    public static let IMAGE_ID             = "A57"
-    public static let PLACE_ID              = "A58"
-    public static let PLACE_NAME          = "A59"
-    
-    public static let CHATROOM_ID         = "A60"
-    public static let CHATROOM_NAME    = "A61"
-    public static let SEND_BACK         = "A62"
-    public static let AUDIO_ID            = "A63"
-    public static let OLD_CELL            = "A64"
-    public static let NEW_CELL            = "A65"
-    public static let TAXI_COMPANY_ID    = "A66"
-    
-    public static let AREA_ID         = "A67"
-    public static let FORMAT         = "A68"
-    public static let SVIDEO_ID     = "A69"
-    
-    public static let CATEGORY_ID             = "A70"
-    public static let CATEGORY_FLAG         = "A70A"
-    public static let N_VIEWS                 = "A71"
-    public static let VIEWERS    = "VIEWERS"
-    public static let MYIMAGE_ID             = "A72"
-    public static let EX_STATUS             = "A73"
-    public static let THUMB_ID             = "A74"
-    public static let CELL_CONFIGURATION     = "A75"
-    public static let SCOPE_ID             = "A76"
-    public static let FOLLOWER_SIZE         = "A77"
-    public static let FOLLOW_STATUS         = "A78"
-    public static let IMAGE_DOWNLOAD_PATH     = "A79"
-    
-    public static let POSITION             = "A80"
-    public static let PLUGIN_DOWNLOAD_PATH    = "A81"
-    public static let VIDEO_DOWNLOAD_PATH     = "A82"
-    public static let VIDEO_FORMAT         = "A83"
-    public static let APP_CODE             = "A84"
-    public static let DRAW_POINT           = "A85"
-    public static let DRAW_SCREEN_WIDTH     = "A86"
-    public static let DRAW_SCREEN_HEIGHT     = "A87"
-    public static let N_SHOWS                 = "A88"
-    public static let TEXT_PREVIEW            = "A89"
-    
-    public static let START_DATE             = "A90"
-    public static let END_DATE             = "A91"
-    public static let NAME                 = "A92"
-    public static let ALLOW_COMMENTS         = "A93"
-    public static let APP_DOWNLOAD_PATH     = "A94"
-    public static let ANDROID_PACKAGE_NAME = "A95"
-    public static let ANDROID_CLASS_NAME     = "A96"
-    public static let ERRCOD                 = "A97"
-    public static let REQUEST_ID             = "A98"
-    
-    public static let FAMILY_ID            = "A99"
-    public static let FAMILY_NAME          = "A100"
-    public static let MEMBER_QTY           = "A101"
-    public static let MAX_LEVEL            = "A102"
-    public static let LEVEL                = "A103"
-    public static let POINT                = "A104"
-    public static let PARENT_PIN           = "A105"
-    public static let N_CHILDREN           = "A106"
-    
-    public static let ITEM_CODE            = "A107"
-    public static let ITEM_QTY             = "A108"
-    public static let ITEM_SERIAL_NUMBER   = "A109"
-    public static let ITEM_END_DATE        = "A110"
-    public static let ITEM_LAST_UPDATE     = "A111"
-    public static let ITEM_PRICE_BUY       = "A112"
-    public static let ITEM_PRICE_SELL      = "A113"
-    public static let ITEM_ABILITY         = "A114"
-    public static let ITEM_REQUIREMENT     = "A115"
-    
-    public static let CONTACT                = "A116"
-    public static let BUSINESS_CATEGORY         = "A117"
-    public static let CREDENTIAL           = "A118"
-    
-    public static let WISHLIST_ID          = "A119"
-    
-    public static let RSS_ID               = "A109"
-    public static let EXT_TEXT_1           = "A111"
-    public static let DATA                 = "A112"
-    public static let BALANCE              = "A114"
-    public static let VOUCHER              = "A138"
-    public static let TRANSACTION_LIMIT = "A147"
-    public static let DISCOUNT = "A148"
-    public static let PARENT_ID          = "BP"
-    public static let IS_ORGANIZATION          = "A122"
-    
-    public static let FORM_ID    = "A120"
-    public static let REF_ID     = "A121"
-    public static let RATE       = "A122"
-    public static let FILE_UPLOAD  = "A123"
-    
-    
-    public static let AUTO_QUOTE_TYPE = "A129"
-    public static let IS_PULL = "A130"
-    public static let PENDING_SID       = "BU"
-    public static let BUSINESS_ENTITY = "BZ1"
-    
-    
-    public static let POS_FLAG = "A131"
-    public static let SHOP = "A132"
-    public static let SHOP_CODE = "A133"
-    public static let STOCK_ID = "A134"
-    public static let STOCK_CODE = "A135"
-    public static let STOCK_NAME = "A136"
-    public static let SHOP_NAME = "A137"
-    
-    
-    public static let WALLET_CODE    = "A139"
-    public static let WALLET_QTY    = "A140"
-    public static let WALLET_AMOUNT    = "A141"
-    public static let WALLET_EXPIRED    = "A142"
-    public static let WALLET_TYPE_    = "A143"
-    public static let BITSET    = "BIT"
-    
-    public static let EXTENSION    = "A144"
-    public static let ANONYMOUS = "A145"
-    public static let ATTACHMENT_FLAG = "A149"
-    public static let INDEX = "A150"
-    public static let OTP = "OTP"
-    public static let AC = "AC"
-    public static let AC_DESC = "AC_DESC"
-    public static let BE_INFO = "BE_INFO"
-    public static let PACKET_ID = "BQ"
-    
-    public static let SCHEME_ID = "A150"
-    public static let TV_SCHEME_ID = "A151"
-    
-    public static let GENDER = "A154"
-    public static let BIRTHDATE = "A155"
-    public static let CARD_TYPE = "A156"
-    public static let CARD_ID = "A157"
-    public static let REAL_NAME = "RNAM"
-    
-    public static let REF_COMMENT_ID = "A159"
-    public static let COMMENT_DATE = "A160"
-    public static let COMMENT = "A161"
-    public static let COMMENT_ID = "A162"
-    
-    public static let EC_DATE = "A163"
-    
-    public static let FOLLOW_DATE = "FD01"
-    public static let UNFOLLOW_DATE = "UD01"
-    
-    public static let TRANS_ID = "Bs"
-    public static let NOTE = "nt"
-    public static let SIGN = "sg"
-    public static let ORG_ID    = "ogi"
-    public static let ORG_NAME  = "ogn"
-    public static let ORG_THUMB = "ogt"
-    public static let UNIQ_CODE = "uqc"
-    public static let ACTVITY = "act"
-    public static let ACTVITY_SUB = "acts"
-    public static let SHARING_FLAG = "srf"
-    public static let CLIENTS = "cln"
-    public static let TAG_FORUM = "tgf"
-    public static let TAG_CLIENT = "tgc"
-    public static let TAG_ACTIVITY = "tga"
-    public static let TAG_SUBACTIVITY = "tgsa"
-    public static let DEFAULT_OFFICE = "dfo"
-    public static let WIFI_LIST = "wfi"
-    
-    public static let TPS_NAME = "tps_name"
-    public static let TPS_KELURAHAN = "tps_klh"
-    public static let TPS_SUB_DISTRICT = "tps_sdt"
-    public static let TPS_DISTRICT = "tps_dtt"
-    public static let TPS_PROVINCE = "tps_prv"
-    
-    public static let RACI_R = "racir"
-    public static let RACI_A = "racia"
-    public static let RACI_C = "racic"
-    public static let RACI_I = "racii"
-    
-    public static let THUMBNAIL_ACTIVITY = "thumb_act"
-    public static let THUMBNAIL_CLIENT = "thumb_client"
-    public static let CONTACT_LIST = "contact_number"
-    public static let FRIEND_MSISDN = "fmdn"
-    public static let FRIEND_FPIN = "ffpin"
-    public static let FRIEND_FIMEI = "fimei"
-    
-    
-    public static let LAC_ID = "lac"
-    public static let CELL_ID = "cid"
-    public static let MCC_ID = "mcc"
-    public static let MNC_ID = "mnc"
-    public static let PCI_ID = "pci"
-    
-    public static let ROC_DATE = "ROD"
-    public static let ROC_SIZE = "ROS"
-    public static let IS_EDUCATION = "IED"
-    public static let IS_SUB_ACCOUNT = "ISA"
-    public static let IS_CHANGE_PROFILE = "ICP";
-    public static let LEVEL_EDU = "lvledu"
-    public static let MATERI_EDU = "mtredu"
-    public static let FINALTEST_EDU = "tstedu"
-    
-    public static let MIX_CATEGORY_POST = "mcp"
-    
-    
-    /**
-     * For CUB Web
-     */
-    public static let DELETE_MESSAGE_FLAG = "D01"
-    public static let CHANGE_PERSON_FLAG = "C01"
-    public static let CHANGE_GROUP_INFO_FLAG = "C02"
-    public static let CHANGE_MEMBER_POSITION_GROUP_FLAG = "C03"
-    public static let CHANGE_TOPIC_FLAG = "C04"
-    public static let SEARCH_MESSAGE_FLAG = "C05"
-    public static let VIEW_MEDIA_FLAG = "C06"
-    public static let IS_STARED_MESSAGE = "IS1"
-    public static let FROM_WEB = "W01"
-    public static let STATUS_FORM = "SF"
-    public static let POP_HOST = "EM1"
-    public static let POP_PORT = "EM2"
-    public static let SMTP_HOST = "EM3"
-    public static let SMTP_PORT = "EM4"
-    public static let DOMAIN = "EM5"
-    public static let EX_LOCK = "EX1"
-    public static let PARTICIPATE_ID = "PTI"
-    public static let PARTICIPATE_SIZE = "PTZ"
-    public static let POST_ID = "PO1"
-    public static let POST_ID_PARTICIPATE = "PO2"
-    public static let PARTICIPATE_DATE = "PO3"
-    public static let BEFORE_FLAG_CHANGED = "BC1"
-    public static let LIKES       = "like"
-    public static let DISLIKES       = "dislike"
-    public static let FLAG_REACTION = "FL1"
-    public static let AUDITION_DATE = "FL2"
-    public static let TYPE_ADS = "FL4"
-    public static let TYPE_LP = "FL5"
-    public static let TYPE_POST = "FL6"
-    public static let ADDRESS = "A158"
-    
-    public static let TYPE_REGISTER = "reg"
-    
-    
-    public static let FLAG_REPORT="rpt"
-    public static let REPORT_DATE = "report_date"
-    public static let REASON = "reason"
-    public static let  LAST_EDIT         = "l_ed"
-    
-    public static let BIDANG_INDUSTRI = "A164"
-    public static let VISI = "A165"
-    public static let MISI = "A166"
-    public static let COMPANY_LAT = "A167"
-    public static let COMPANY_LNG = "A168"
-    public static let COMPANY_WEB = "A169"
-    public static let COMPANY_CERTIFICATE = "certf"
-    public static let OFFICIAL_ACCOUNT = "oacc"
-    public static let TOTAL_FOLLOWERS = "tflr"
-    
-    public static let OFFSET = "ofs"
-    public static let URL = "url"
-    
-    public static let COUNT_POST = "A170"
-    public static let COUNT_FOLLOWER = "A171"
-    public static let COUNT_FOLLOWING = "A172"
-    public static let NEW_RACI_R = "new_r"
-    public static let NEW_RACI_A = "new_a"
-    public static let NEW_RACI_C = "new_c"
-    public static let NEW_RACI_I = "new_i"
-    public static let VERSION = "V01"
-    public static let PROJECT_REF = "prr"
-    public static let PROJECT = "prj"
-    public static let OWNER = "own"
-    public static let PRODUCT = "prd"
-    public static let LOCAL_TIMESTAMP = "lcltm"
-    public static let IS_CONSULT = "ics"
-    public static let ACK_QTY = "ACQ"
-    public static let SENT_QTY = "STQ"
-    public static let MAIL_ACCOUNT = "mla"
-    public static let TEXT_PLAIN = "tpl"
-    public static let TOTAL = "ttl"
-    public static let SUB_TOTAL = "A150"
-    public static let IS_CALL_CENTER = "icc"
-    public static let CALL_CENTER_ID = "ccid"
-    
-    public static let MERCHANT_ID = "MERID"
-    public static let MERCHANT_IMAGE = "MERIMG"
-    public static let MERCHANT_DESCRIPTION = "MERDSC"
-    public static let MERCHANT_ADDRESS = "MERADD"
-    public static let MERCHANT_OPENTIME = "MEROPT"
-    public static let MERCHANT_CLOSETIME = "MERCLT"
-    public static let MERCHANT_NAME = "MERNAM"
-    
-    public static let SCORE = "SC"
-    public static let FILTER = "FL"
-    public static let FILTER_ACCOUNT  = "FLA"
-    public static let FILTER_CATEGORY = "FLC"
-    
-    public static let NOTIF = "NTF"
-    
-    public static let PROCESS_ID      = "PID"
-    public static let RESPONSE_LABEL  = "RLB"
-    public static let RESPONSE_TYPE   = "RTY"
-    public static let RESPONSE_PARAM  = "RPR"
-    
-    public static let TOKEN = "TKN"
-    
-    public static let MEDIA_LENGTH = "ML"
-    
-    public static let SURVEY_ID = "SVI"
-    
-    
-
-    public static let TARGET_CONTENT   = "TTC";
-    public static let PRICING   = "PRC";
-    public static let PRICING_MONEY   = "PRM";
-    public static let ACCESS            = "ACS";
-    public static let SOCIAL_ACCESS  = "ACS1";
-    public static let MEDICAL_ACCESS  = "ACS2";
-    public static let HANDYCRAFT_ACCESS  = "ACS3";
-    
-    public static let APN_TOKEN = "apt"
-    public static let CALL_TOKEN = "cpt"
-    
-    public static let SCHOOL_STUDENT_NAME = "SCH1";
-    public static let SCHOOL_STUDENT_PARENT_NAME = "SCH2";
-    public static let SCHOOL_STUDENT_EMAIL = "SCH3";
-    
-    public static let LAST_SIGN = "LSG";
-    public static let ANDROID_ID = "AID";
-    public static let ANDROID_APP_NAME = "AAN";
-    public static let CPAAS_VERSION = "CPN";
-    
-    public static let MAJOR_EDU = "majoredu";
-    public static let SCHOOL_ID = "schoolid";
-    public static let SCHOOL_DESC = "schooldesc";
-    public static let EDU_STAGE = "edustage";
-    public static let QUESTION_QUIZ = "question";
-
-    public static let API = "Api";
-    public static let CHANNEL = "channel";
-    public static let TAGLINE = "tagline";
-    
-    public static let MEMBER_DATA = "MDT";
-    public static let GET_LIST_LS = "GTS";
-    
-    public static let PHONE_NUMBER = "PHN";
-    public static let WORKING_AREA = "WKA";
-    public static let IS_SECOND_LAYER = "ISL";
-    
-    public static let IS_ENABLED_ANONYMOUS = "A999";
-    
-    public static let TOTAL_PAYMENT = "TPM";
-    
-    public static let IS_ANIMATION = "ISN";
-    public static let START_ANIMATION = "SANI";
-    public static let LOOP_ANIMATION = "LANI";
-    public static let SCALE = "SCL";
-    public static let STYLE = "STL";
-    public static let GIF_ID = "GF";
-    
-}

+ 0 - 50
appbuilder-ios/NexilisUC/NexilisUC/Source/Message/CoreMessage_TMessageUtil.swift

@@ -1,50 +0,0 @@
-//
-//  CoreMessage_TMessageUtil.swift
-//  NexilisUC
-//
-//  Created by Maronakins on 04/11/24.
-//
-
-import Foundation
-
-public class CoreMessage_TMessageUtil {
-        
-    private static var mTID = NSDate().timeIntervalSince1970 * 1000
-    
-    public static func getTID() -> String {
-        mTID = Double(Int(mTID) + Int(1))
-        return String(Int(mTID))
-    }
-    
-    public static func getString(json: Any, key: String) -> String {
-        return getString(json: json, key: key, def: "")
-    }
-    
-    public static func getString(json: Any, key: String, def: String) -> String {
-        if let dict = json as? [String: Any], let value = dict[key] as? String {
-            if !value.isEmpty {
-                return value
-            }
-        }
-        return def
-    }
-    
-    public static func getInt(json: Any, key: String, def: Int) -> Int {
-        if let dict = json as? [String: Any], let value = dict[key] as? Int {
-            return value
-        }
-        return def
-    }
-    
-    public static func getIntAsString(json: Any, key: String, def: Int) -> String {
-        return String(getInt(json: json, key: key, def: def))
-    }
-    
-    public static func getLong(json: Any, key: String, def: CLong) -> CLong {
-        if let dict = json as? [String: Any], let value = dict[key] as? CLong {
-            return value
-        }
-        return def
-    }
-    
-}

+ 0 - 331
appbuilder-ios/NexilisUC/NexilisUC/Source/Message/TMessage.swift

@@ -1,331 +0,0 @@
-//
-//  TMessage.swift
-//  NexilisUC
-//
-//  Created by Maronakins on 04/11/24.
-//
-
-import Foundation
-
-public class TMessage {
-    public var mType: String = ""
-    public var mVersion: String = ""
-    public var mCode: String = ""
-    public var mStatus: String = ""
-    public var mPIN: String = ""
-    public var mL_PIN: String = ""
-    public var mBodies: [String: String] = [String: String]()
-    private var mMedia:[UInt8] = [UInt8]()
-    
-    let C_HEADER:UnicodeScalar = UnicodeScalar(0x01)
-    let C_ENTRY:UnicodeScalar = UnicodeScalar(0x02)
-    let C_KEYVAL:UnicodeScalar = UnicodeScalar(0x03)
-    let C_ARRAY:UnicodeScalar = UnicodeScalar(0x04)
-    
-    var S_HEADER: String = ""
-    var S_ENTRY: String = ""
-    var S_KEYVAL: String = ""
-    var S_ARRAY: String = ""
-    
-    
-    public static let TYPE_SQLITE_ONLY =  "1"
-    public static let TYPE_ALL         =  "2"
-    public static let TYPE_NEED_ACK    =  "3"
-    
-    public init() {
-        mVersion = "1.0.111"
-        mBodies[CoreMessage_TMessageKey.IMEI] = TMessage.getCLMUserId()
-//        mBodies[CoreMessage_TMessageKey.VERCOD] = UIApplication.appVersion
-        mBodies[CoreMessage_TMessageKey.VERCOD] = "2.2.177"
-    }
-    
-    public init(data : String) {
-        _ = unpack(data: data)
-    }
-    
-    init(type: String, version: String, code: String,status: String, pin: String, l_pin: String, bodies:[String: String], media:  [UInt8]) {
-        mType = type
-        mVersion = version
-        mCode = code
-        mStatus = status
-        mPIN = pin
-        mL_PIN = l_pin
-        mBodies = bodies
-        mMedia = media
-        mBodies[CoreMessage_TMessageKey.IMEI] = TMessage.getCLMUserId()
-//        mBodies[CoreMessage_TMessageKey.VERCOD] = UIApplication.appVersion
-        mBodies[CoreMessage_TMessageKey.VERCOD] = "2.2.177"
-    }
-    
-    static func getCLMUserId() -> String {
-        guard let me = UserDefaults.standard.string(forKey: "me") else {
-            return ""
-        }
-        return me
-    }
-    
-    public func clone(p_tmessage:TMessage) -> TMessage {
-        return TMessage(
-            type: p_tmessage.mType,
-            version: p_tmessage.mVersion,
-            code: p_tmessage.mCode,
-            status: p_tmessage.mStatus,
-            pin: p_tmessage.mPIN,
-            l_pin: p_tmessage.mL_PIN,
-            bodies: p_tmessage.mBodies,
-            media: p_tmessage.mMedia
-        )
-    }
-    
-    public func setMedia(media: [UInt8]) {
-        mMedia = media
-        mBodies[CoreMessage_TMessageKey.MEDIA_LENGTH] = String(media.count)
-    }
-    
-    public func getCode() -> String {
-        return mCode
-    }
-    public func getStatus() -> String {
-        return mStatus
-    }
-    public func getPIN() -> String {
-        return mPIN
-    }
-    public func getType() -> String {
-        return mType
-    }
-    public func getL_PIN() -> String {
-        return mL_PIN
-    }
-    public func getMedia() -> [UInt8] {
-        return mMedia
-    }
-    public func getBody(key : String) -> String {
-        if let data = mBodies[key] {
-            return data
-        }
-        else {
-            return ""
-        }
-    }
-    public func getBody(key : String, default_value: String) -> String {
-        if ((mBodies[key] == nil)) {
-            return default_value
-        } else if mBodies[key] == "null" {
-            return default_value
-        } else {
-            return mBodies[key]!
-        }
-    }
-    
-    public func getBodyAsInteger(key : String, default_value: Int) -> Int {
-        if ((mBodies[key] == nil)) {
-            return default_value
-        } else if mBodies[key] == "null" {
-            return default_value
-        } else {
-            return Int(mBodies[key]!)!
-        }
-    }
-    public func getBodyAsLong(key : String, default_value: CLong) -> CLong {
-        if let body = mBodies[key] {
-            if (body == "null") {
-                return default_value
-            }
-            if (body == "nil") {
-                return default_value
-            }
-            return (body as NSString).integerValue
-            
-        }
-        else {
-            return default_value
-        }
-    }
-    
-    public func pack() -> String {
-        if (S_HEADER.isEmpty) { S_HEADER.append(Character(C_HEADER)) }
-        
-        var data = ""
-        data.append(mType)
-        data.append(Character(C_HEADER))
-        data.append(mVersion)
-        data.append(Character(C_HEADER))
-        data.append(mCode)
-        data.append(Character(C_HEADER))
-        data.append(mStatus)
-        data.append(Character(C_HEADER))
-        data.append(mPIN)
-        data.append(Character(C_HEADER))
-        data.append(mL_PIN)
-        data.append(Character(C_HEADER))
-        data.append(toString(body: mBodies))
-        data.append(Character(C_HEADER))
-        if let media = String(data: Data(getMedia()), encoding: .windowsCP1250) {
-            data.append(media)
-        }
-        return data
-        
-    }
-    
-    
-    public func toBytes() -> [UInt8] {
-        let data:String = pack()
-        var result: [UInt8] = Array(data.utf8)
-        //print("[bytes_processing] build bytes data:" + String(result.count) + ", media:" + String(getMedia().count))
-        if (!getMedia().isEmpty) {
-            for index in 0...getMedia().count - 1 {
-                result.append(getMedia()[index])
-            }
-        }
-        return result
-        
-    }
-    
-    private func toString(body : [String: String]) -> String {
-        if (S_ENTRY.isEmpty) { S_ENTRY.append(Character(C_ENTRY)) }
-        if (S_KEYVAL.isEmpty) { S_KEYVAL.append(Character(C_KEYVAL)) }
-        
-        var result = ""
-        for (key, value) in body {
-            result += key + S_KEYVAL + value + S_ENTRY
-        }
-        if (!result.isEmpty) {
-            result = String(result.prefix(result.count - 1))
-        }
-        return result
-    }
-    
-    private func toMediaBytes(image: String) ->  [UInt8] {
-        if (image == "null") {
-            return [UInt8]()
-        }
-        if let data = NSData(base64Encoded: image, options: .ignoreUnknownCharacters) {
-            var buffer = [UInt8](repeating: 0, count: data.length)
-            data.getBytes(&buffer, length: data.length)
-            return buffer
-        }
-        return [UInt8]()
-    }
-    
-    public func unpack(data: String) -> Bool {
-        var result  = false
-        if (S_HEADER.isEmpty) { S_HEADER.append(Character(C_HEADER)) }
-        let headers = data.split(separator: Character(C_HEADER), maxSplits: 8, omittingEmptySubsequences: false)
-        if (headers.count == 8) {
-            mType    = String(headers[0])
-            mVersion = String(headers[1])
-            mCode    = String(headers[2])
-            mStatus  = String(headers[3])
-            mPIN     = String(headers[4])
-            mL_PIN   = String(headers[5])
-            mBodies  = toBodies(data: String(headers[6]))
-            mMedia   = toMediaBytes(image: String(headers[7]))
-            result   = true
-        }
-        return result
-    }
-    
-    public func unpack(bytes_data: [UInt8]) -> Bool {
-        var result  = false
-        let data = getData(bytes_data: bytes_data)
-        let headers = data.split(separator: Character(C_HEADER), maxSplits: 8, omittingEmptySubsequences: false)
-        if (headers.count >= 8) {
-            mType    = String(headers[0])
-            mVersion = String(headers[1])
-            mCode    = String(headers[2])
-            mStatus  = String(headers[3])
-            mPIN     = String(headers[4])
-            mL_PIN   = String(headers[5])
-            mBodies  = toBodies(data: String(headers[6]))
-            mMedia   = getMedia(bytes_data: bytes_data)
-            result   = true
-        }
-        else {
-            //print("[bytes_processing] Invalid header length: " + String(headers.count))
-        }
-        return result
-    }
-    
-    private func toBodies(data: String) -> [String: String]  {
-        var cvalues = [String: String]()
-        
-        if (data.isEmpty || data == "") {
-            return cvalues
-        }
-        if (S_ENTRY.isEmpty) { S_ENTRY.append(Character(C_ENTRY)) }
-        if (S_KEYVAL.isEmpty) { S_KEYVAL.append(Character(C_KEYVAL)) }
-        
-        let elements = data.split(separator: Character(C_ENTRY), omittingEmptySubsequences: false)
-        
-        for element in elements {
-            let keyval = element.split(separator: Character(C_KEYVAL), omittingEmptySubsequences: false)
-            cvalues[String(keyval[0])] = String(keyval[1])
-        }
-        return cvalues
-    }
-    
-    private func getData(bytes_data : [UInt8]) -> String {
-        var result = ""
-        if (S_HEADER.isEmpty) { S_HEADER.append(Character(C_HEADER)) }
-        
-        var iLength = 0
-        for bData in bytes_data {
-            let chr = Character(UnicodeScalar(bData))
-            
-            if (chr == Character(C_HEADER)) {
-                iLength = iLength + 1
-                if (iLength == 8) {
-                    break
-                }
-            }
-            result.append(chr)
-        }
-        return result
-    }
-    
-    private func getMedia(bytes_data:  [UInt8]) ->  [UInt8] {
-        var result:[UInt8] = [UInt8]()
-        if bytes_data.count > 0 {
-            var ml = getBodyAsInteger(key: CoreMessage_TMessageKey.MEDIA_LENGTH, default_value: 0)
-            if ml == 0 {
-                ml = getBodyAsInteger(key: CoreMessage_TMessageKey.FILE_SIZE, default_value: 0)
-            }
-            if ml > 0 {
-                let start = bytes_data.count - ml
-                for index in start...bytes_data.count - 1 {
-                    result.append(bytes_data[index])
-                }
-            }
-        }
-        return result
-    }
-    
-    public func toLogString() -> String {
-        var result = ""
-        result += ("[" + mType + "]")
-        result += ("[" + mVersion + "]")
-        result += ("[" + mCode + "]")
-        result += ("[" + mStatus + "]")
-        result += ("[" + mPIN + "]")
-        result += ("[" + mL_PIN + "]")
-        result += ("[" + toBodyLogString() + "]")
-        result += ("[" + String(mMedia.count) + "]")
-        return result
-    }
-    
-    private func toBodyLogString() -> String {
-        if (S_ENTRY.isEmpty) { S_ENTRY.append(Character(C_ENTRY)) }
-        if (S_KEYVAL.isEmpty) { S_KEYVAL.append(Character(C_KEYVAL)) }
-        
-        var result = ""
-        for (key, value) in mBodies {
-            result += "{" + key + "=" + value + "}"
-        }
-        return result
-    }
-    
-    public func isOk() -> Bool {
-        return getBody(key: CoreMessage_TMessageKey.ERRCOD, default_value: "99") == "00"
-    }
-}