Please select Into the mobile phone version | Continue to access the computer ver.
We have data!
Uploading and Loding Picture ...(0/1)
o(^-^)o
BGA
Captain
United States
Offline

I thought I would share with you the good news. Below is the output of my samplw Robomaster app program. As I prefer to develop on Linux and it depends on DJI's unitybridge.dll library (which is a Windows thing), I cross-compiled the code and ran it (using Wine) on Linux.

$ wine example.exe -ssid=ssid -password=password -textmode

[Text QRCode removed]

22:33:57:779: Link: Reset Game Pad Data
22:33:57:780: Video: InitializeVideoDecoder ...
22:33:57:782: StartListeningUpdates[13][Connection]
22:33:57:783: Link: APP Set WiFi IP: 192.168.2.1
22:33:57:783: Link: APP Set WiFi Port: 10607
22:33:57:783: Link: APP Start All Data Link...
22:33:57:783: Link: SW Start With IP: 192.168.2.1...
22:33:57:784: Link: SW Start Succeeded, Socket = 324
PairingListener: 2019/12/14 06:33:57 Starting on port 45678.
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
PairingListener: 2019/12/14 06:34:54 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:0
PairingListener: 2019/12/14 06:34:54 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:0
PairingListener: 2019/12/14 06:34:54 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:0
PairingListener: 2019/12/14 06:34:55 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:0
PairingListener: 2019/12/14 06:34:55 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:0
PairingListener: 2019/12/14 06:34:55 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:0
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
PairingListener: 2019/12/14 06:35:03 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:03:311: Link: APP Stop WiFi Data Link...
22:35:03:311: Link: SW Stop: Socket = 324
22:35:03:311: Link: APP Set WiFi IP: 192.168.86.129
22:35:03:311: Link: APP Set WiFi Port: 10607
22:35:03:311: Link: APP Start All Data Link...
&pairing.Event{typ:0, ip:net.IP{0xc0, 0xa8, 0x56, 0x81}, hardwareAddr:net.HardwareAddr{0x60, 0x60, 0x1f, 0xce, 0xc0, 0x94}}
22:35:03:391: Link: SW Reset Completed...
22:35:03:444: Link: SW Start With IP: 192.168.86.129...
22:35:03:445: Link: SW Start Succeeded, Socket = 336
Callback: e=1305670057984, info=[]byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:04:038: Link: SW Connected
22:35:04:039: Link: Product Connected: 0
22:35:04:039: SendCmd:  CmdSet = 00, CmdId = 4f, Size = 22
22:35:04:044: Abstraction: RobomasterWiFiLink Setup
22:35:04:045: OnValueUpdates[13][Connection]: Result = {"Value":{"value":true}, "Error":0, "Key":117440513, "Tag":0}
Callback: e=17297309697, info=[]byte{0x7b, 0x22, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a, 0x7b, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a, 0x74, 0x72, 0x75, 0x65, 0x7d, 0x2c, 0x20, 0x22, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3a, 0x30, 0x2c, 0x20, 0x22, 0x4b, 0x65, 0x79, 0x22, 0x3a, 0x31, 0x31, 0x37, 0x34, 0x34, 0x30, 0x35, 0x31, 0x33, 0x2c, 0x20, 0x22, 0x54, 0x61, 0x67, 0x22, 0x3a, 0x30, 0x7d}, tag=0
22:35:04:045: SDR: RobomasterAirLinkAbstraction DidSetup
22:35:04:045: Link: OnDataLinkAdded: wifi
22:35:04:045: Activation: OnDataLinkAdded...
22:35:04:045: Album: OnDataLinkAdded...

22:35:04:045: SendCmd:  CmdSet = 00, CmdId = 26, Size = 30
22:35:04:055: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:04:064: RecvCmd: CmdSet = 00, CmdId = 4f
22:35:04:064: SendCmd:  CmdSet = 00, CmdId = 4f, Size = 22
22:35:04:083: RecvCmd: CmdSet = 00, CmdId = 4f
22:35:04:084: SendCmd:  CmdSet = 00, CmdId = 4f, Size = 22
22:35:04:104: RecvCmd: CmdSet = 00, CmdId = 4f
22:35:04:104: SendCmd:  CmdSet = 00, CmdId = 4f, Size = 22
22:35:04:112: RecvCmd: CmdSet = 00, CmdId = 4f
22:35:04:113: SendCmd:  CmdSet = 00, CmdId = 4f, Size = 22
22:35:04:116: RecvCmd: CmdSet = 07, CmdId = 09
22:35:04:121: RecvCmd: CmdSet = 00, CmdId = 4f
Callback: e=34359738368, info=[]byte{0x49, 0x4d, 0x2a, 0x48, 0x1, 0x0, 0x0, 0x0, 0x20, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x40, 0xf, 0x0, 0x0, 0x20, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x50, 0x52, 0x41, 0x4b, 0x50, 0x55, 0x45, 0x4b, 0xfe, 0xc8, 0x0, 0xcd, 0x95, 0x41, 0x92, 0xeb, 0xce, 0x94, 0x21, 0x45, 0x27, 0x73, 0xc3, 0xb3, 0x30, 0x30, 0x30, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0x5, 0x0, 0x11, 0x11, 0x19, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xef, 0xf2, 0x8a, 0xc9, 0xbc, 0x6d, 0x75, 0xba, 0xb1, 0xd5, 0x9b, 0x4a, 0x5d, 0xae, 0x57, 0x82, 0xb0, 0xf4, 0x67, 0x1c, 0x23, 0x57, 0x41, 0x70, 0xc4, 0x6c, 0xd2, 0x6f, 0xf, 0xf7, 0xe, 0x5, 0x30, 0x30, 0x30, 0x30, 0x0, 0x0, 0x0, 0x0, 0x23, 0xf, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x66, 0xf2, 0x50, 0xdc, 0x21, 0xd9, 0xa0, 0x1, 0x56, 0xe6, 0x60, 0xa3, 0xbf, 0xa8, 0x73, 0xe4, 0x7f, 0x36, 0x60, 0x4e, 0x34, 0x1f, 0xd5, 0xd6, 0x9a, 0xc, 0x26, 0xf, 0xe0, 0x2d, 0x8c, 0xb4, 0xa4, 0x66, 0x7c, 0x73, 0x49, 0x56, 0xe6, 0x7c, 0x74, 0xa9, 0x33, 0xc6, 0x1c, 0x59, 0xc7, 0x36, 0xf5, 0xc5, 0xb2, 0x63, 0x90, 0x88, 0x8, 0x66, 0x72, 0x5a, 0xb3, 0x7, 0x3, 0xc, 0x72, 0xe1, 0xc7, 0x92, 0x41, 0x46, 0xbb, 0x3b, 0x2d, 0xad, 0xbf, 0x64, 0xa9, 0x6f, 0xf1, 0xbf, 0x58, 0x78, 0x4e, 0xe8, 0x5c, 0xc3, 0x9f, 0x5, 0x90, 0xaa, 0x15, 0x71, 0x54, 0x20, 0x2e, 0x70, 0x2b, 0xec, 0x94, 0x1f, 0xfd, 0xc, 0x64, 0x92, 0xab, 0x59, 0xc1, 0xfc, 0x7, 0xb0, 0xb2, 0x83, 0xe0, 0x48, 0x2a, 0xd5, 0x84, 0x69, 0x80, 0x85, 0xcb, 0x67, 0xa8, 0x12, 0xb5, 0x67, 0x24, 0xec, 0x60, 0x36, 0x7e, 0xbb, 0xf2, 0xf4, 0x80, 0x69, 0x7, 0x1e, 0xa8, 0xce, 0xdf, 0x4e, 0xa6, 0xe6, 0xd4, 0xda, 0xdc, 0x85, 0x39, 0xb1, 0xbc, 0x40, 0x28, 0x78, 0xe9, 0xdf, 0x91, 0x5d, 0xcd, 0xfa, 0x7e, 0x8d, 0xf3, 0x90, 0x6c, 0x6, 0xc5, 0xd, 0x52, 0xd2, 0xd9, 0x26, 0xa8, 0x91, 0x1d, 0xcf, 0xf9, 0x81, 0xc5, 0xa3, 0x3a, 0x6, 0xe8, 0xc3, 0xf7, 0x56, 0xa, 0xa4, 0xdc, 0x26, 0x2e, 0xaf, 0x98, 0xdd, 0x12, 0x79, 0xf8, 0xfa, 0x50, 0x13, 0xeb, 0xf1, 0x5a, 0x42, 0x96, 0x43, 0x6a, 0xe7, 0xa5, 0x0, 0xd2, 0x8e, 0xdd, 0x35, 0xd7, 0xca, 0x2a, 0xf1, 0xf4, 0x86, 0x99, 0x9a, 0x39, 0x8d, 0xee, 0x96, 0x53, 0xb1, 0xbd, 0x66, 0x2e, 0x68, 0x4a, 0xe0, 0xd9, 0x22, 0x5d, 0x36, 0x31, 0x58, 0x96, 0x2b, 0x50, 0x7d, 0xaa, 0x54, 0xe1, 0x5, 0x77, 0x9c, 0xb3, 0xd3, 0x8c, 0x87, 0x65, 0xa0, 0xc9, 0xa0, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x3f, 0x3e, 0xa, 0x3c, 0x64, 0x6a, 0x69, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x78, 0x77, 0x36, 0x30, 0x37, 0x22, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x30, 0x30, 0x34, 0x36, 0x22, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x30, 0x30, 0x34, 0x36, 0x22, 0x20, 0x61, 0x6e, 0x74, 0x69, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x61, 0x6e, 0x74, 0x69, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x3d, 0x22, 0x63, 0x6e, 0x3a, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x3d, 0x22, 0x63, 0x6e, 0x3a, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x3d, 0x22, 0x32, 0x30, 0x31, 0x39, 0x2d, 0x31, 0x31, 0x2d, 0x31, 0x31, 0x54, 0x31, 0x30, 0x3a, 0x34, 0x38, 0x3a, 0x34, 0x32, 0x2b, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x22, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x3d, 0x22, 0x32, 0x30, 0x31, 0x39, 0x2f, 0x31, 0x31, 0x2f, 0x31, 0x31, 0x22, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x3d, 0x22, 0x32, 0x30, 0x32, 0x30, 0x2f, 0x31, 0x31, 0x2f, 0x31, 0x31, 0x22, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x38, 0x30, 0x31, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x31, 0x31, 0x2e, 0x30, 0x36, 0x2e, 0x39, 0x36, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x34, 0x31, 0x35, 0x34, 0x37, 0x35, 0x38, 0x34, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x35, 0x65, 0x64, 0x31, 0x66, 0x66, 0x36, 0x63, 0x63, 0x39, 0x39, 0x63, 0x30, 0x35, 0x33, 0x61, 0x36, 0x65, 0x33, 0x63, 0x32, 0x63, 0x66, 0x36, 0x61, 0x31, 0x39, 0x66, 0x34, 0x64, 0x65, 0x61, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x30, 0x38, 0x30, 0x31, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x31, 0x31, 0x2e, 0x30, 0x36, 0x2e, 0x39, 0x36, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x31, 0x31, 0x31, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x38, 0x30, 0x35, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x31, 0x2e, 0x30, 0x31, 0x2e, 0x30, 0x31, 0x2e, 0x39, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x32, 0x37, 0x38, 0x35, 0x37, 0x36, 0x30, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x34, 0x64, 0x64, 0x64, 0x39, 0x39, 0x35, 0x37, 0x30, 0x61, 0x32, 0x62, 0x65, 0x30, 0x30, 0x39, 0x36, 0x31, 0x34, 0x66, 0x30, 0x31, 0x65, 0x33, 0x64, 0x64, 0x66, 0x37, 0x65, 0x64, 0x62, 0x32, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x30, 0x38, 0x30, 0x35, 0x5f, 0x76, 0x30, 0x31, 0x2e, 0x30, 0x31, 0x2e, 0x30, 0x31, 0x2e, 0x39, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x36, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x31, 0x30, 0x30, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x33, 0x2e, 0x37, 0x34, 0x2e, 0x30, 0x35, 0x2e, 0x30, 0x37, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x38, 0x39, 0x39, 0x38, 0x34, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x66, 0x35, 0x63, 0x65, 0x35, 0x30, 0x64, 0x32, 0x63, 0x63, 0x64, 0x66, 0x36, 0x31, 0x66, 0x31, 0x61, 0x63, 0x64, 0x38, 0x34, 0x63, 0x33, 0x30, 0x34, 0x38, 0x62, 0x65, 0x35, 0x31, 0x34, 0x63, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x31, 0x31, 0x30, 0x30, 0x5f, 0x76, 0x30, 0x33, 0x2e, 0x37, 0x34, 0x2e, 0x30, 0x35, 0x2e, 0x30, 0x37, 0x5f, 0x32, 0x30, 0x31, 0x38, 0x31, 0x30, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x39, 0x30, 0x32, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x31, 0x38, 0x2e, 0x31, 0x31, 0x2e, 0x32, 0x39, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x36, 0x32, 0x35, 0x36, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x64, 0x63, 0x62, 0x61, 0x34, 0x31, 0x66, 0x33, 0x34, 0x34, 0x61, 0x38, 0x32, 0x65, 0x62, 0x66, 0x31, 0x34, 0x35, 0x66, 0x38, 0x63, 0x64, 0x32, 0x37, 0x38, 0x64, 0x30, 0x32, 0x62, 0x36, 0x37, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x30, 0x39, 0x30, 0x32, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x31, 0x38, 0x2e, 0x31, 0x31, 0x2e, 0x32, 0x39, 0x5f, 0x32, 0x30, 0x31, 0x38, 0x31, 0x31, 0x32, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x33, 0x30, 0x36, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x31, 0x2e, 0x30, 0x33, 0x2e, 0x32, 0x33, 0x2e, 0x30, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x34, 0x38, 0x31, 0x35, 0x36, 0x38, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x61, 0x66, 0x66, 0x33, 0x30, 0x65, 0x31, 0x64, 0x31, 0x33, 0x63, 0x35, 0x66, 0x65, 0x66, 0x66, 0x62, 0x36, 0x64, 0x63, 0x64, 0x63, 0x36, 0x62, 0x65, 0x66, 0x66, 0x32, 0x35, 0x33, 0x66, 0x35, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x30, 0x33, 0x30, 0x36, 0x5f, 0x76, 0x30, 0x31, 0x2e, 0x30, 0x33, 0x2e, 0x32, 0x33, 0x2e, 0x30, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x31, 0x31, 0x31, 0x31, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x32, 0x30, 0x30, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x33, 0x31, 0x32, 0x36, 0x34, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x37, 0x65, 0x66, 0x37, 0x62, 0x34, 0x32, 0x65, 0x62, 0x64, 0x37, 0x62, 0x31, 0x62, 0x33, 0x34, 0x66, 0x36, 0x30, 0x61, 0x33, 0x31, 0x31, 0x61, 0x61, 0x37, 0x64, 0x33, 0x34, 0x65, 0x34, 0x36, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x31, 0x32, 0x30, 0x30, 0x5f, 0x76, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x38, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x32, 0x30, 0x31, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x33, 0x31, 0x32, 0x36, 0x34, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x63, 0x30, 0x34, 0x32, 0x33, 0x66, 0x36, 0x37, 0x30, 0x31, 0x32, 0x32, 0x38, 0x62, 0x31, 0x65, 0x33, 0x32, 0x38, 0x65, 0x65, 0x38, 0x36, 0x37, 0x39, 0x66, 0x63, 0x35, 0x39, 0x65, 0x39, 0x37, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x31, 0x32, 0x30, 0x31, 0x5f, 0x76, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x38, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x32, 0x30, 0x32, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x33, 0x31, 0x32, 0x36, 0x34, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x65, 0x65, 0x32, 0x61, 0x35, 0x39, 0x63, 0x62, 0x30, 0x37, 0x37, 0x34, 0x64, 0x39, 0x38, 0x32, 0x64, 0x66, 0x62, 0x62, 0x39, 0x64, 0x64, 0x32, 0x35, 0x36, 0x36, 0x61, 0x63, 0x66, 0x32, 0x32, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x31, 0x32, 0x30, 0x32, 0x5f, 0x76, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x38, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x32, 0x30, 0x33, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x33, 0x31, 0x32, 0x36, 0x34, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x61, 0x37, 0x65, 0x34, 0x66, 0x32, 0x30, 0x34, 0x64, 0x31, 0x31, 0x63, 0x62, 0x36, 0x30, 0x32, 0x39, 0x66, 0x66, 0x63, 0x31, 0x38, 0x31, 0x32, 0x33, 0x62, 0x30, 0x63, 0x33, 0x32, 0x63, 0x61, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x31, 0x32, 0x30, 0x33, 0x5f, 0x76, 0x30, 0x31, 0x2e, 0x30, 0x32, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x35, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x38, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x34, 0x30, 0x31, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x39, 0x34, 0x38, 0x38, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x31, 0x62, 0x61, 0x37, 0x65, 0x36, 0x64, 0x61, 0x30, 0x63, 0x32, 0x33, 0x32, 0x34, 0x61, 0x64, 0x33, 0x34, 0x31, 0x30, 0x61, 0x33, 0x63, 0x31, 0x64, 0x63, 0x34, 0x39, 0x34, 0x37, 0x31, 0x65, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x32, 0x34, 0x30, 0x31, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x39, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x34, 0x30, 0x32, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x39, 0x34, 0x38, 0x38, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x35, 0x38, 0x33, 0x64, 0x36, 0x63, 0x65, 0x37, 0x35, 0x65, 0x35, 0x32, 0x61, 0x61, 0x66, 0x34, 0x32, 0x65, 0x63, 0x33, 0x38, 0x30, 0x61, 0x38, 0x30, 0x32, 0x34, 0x61, 0x64, 0x30, 0x66, 0x31, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x32, 0x34, 0x30, 0x32, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x39, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x34, 0x30, 0x33, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x39, 0x34, 0x38, 0x38, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x31, 0x35, 0x38, 0x62, 0x36, 0x39, 0x38, 0x62, 0x62, 0x62, 0x63, 0x32, 0x33, 0x31, 0x38, 0x62, 0x66, 0x35, 0x32, 0x36, 0x32, 0x30, 0x65, 0x32, 0x66, 0x62, 0x33, 0x33, 0x64, 0x38, 0x33, 0x36, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x32, 0x34, 0x30, 0x33, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x39, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x34, 0x30, 0x34, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x39, 0x34, 0x38, 0x38, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x62, 0x35, 0x30, 0x61, 0x61, 0x38, 0x32, 0x62, 0x63, 0x64, 0x62, 0x39, 0x37, 0x34, 0x62, 0x37, 0x65, 0x38, 0x62, 0x65, 0x31, 0x36, 0x36, 0x33, 0x35, 0x39, 0x64, 0x39, 0x32, 0x35, 0x66, 0x39, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x32, 0x34, 0x30, 0x34, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x39, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x34, 0x30, 0x35, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x39, 0x34, 0x38, 0x38, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x32, 0x62, 0x33, 0x39, 0x32, 0x34, 0x61, 0x66, 0x35, 0x33, 0x66, 0x36, 0x39, 0x38, 0x36, 0x37, 0x63, 0x30, 0x61, 0x61, 0x33, 0x64, 0x65, 0x33, 0x65, 0x34, 0x62, 0x35, 0x62, 0x66, 0x35, 0x66, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x32, 0x34, 0x30, 0x35, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x39, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x34, 0x30, 0x36, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x32, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x31, 0x39, 0x34, 0x38, 0x38, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x66, 0x32, 0x30, 0x33, 0x39, 0x61, 0x32, 0x31, 0x66, 0x66, 0x33, 0x31, 0x30, 0x66, 0x38, 0x34, 0x63, 0x31, 0x33, 0x65, 0x36, 0x64, 0x66, 0x39, 0x61, 0x63, 0x39, 0x66, 0x63, 0x34, 0x61, 0x30, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x32, 0x34, 0x30, 0x36, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x35, 0x2e, 0x31, 0x32, 0x2e, 0x30, 0x30, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x39, 0x31, 0x37, 0x5f, 0x68, 0x77, 0x30, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x33, 0x30, 0x30, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x31, 0x2e, 0x30, 0x34, 0x2e, 0x34, 0x34, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x33, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x32, 0x31, 0x30, 0x32, 0x34, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x32, 0x32, 0x61, 0x39, 0x64, 0x35, 0x63, 0x35, 0x34, 0x64, 0x65, 0x37, 0x66, 0x63, 0x33, 0x30, 0x64, 0x35, 0x30, 0x32, 0x66, 0x64, 0x39, 0x36, 0x33, 0x35, 0x38, 0x34, 0x30, 0x38, 0x64, 0x64, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x32, 0x33, 0x30, 0x30, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x31, 0x2e, 0x30, 0x34, 0x2e, 0x34, 0x34, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x37, 0x31, 0x32, 0x5f, 0x68, 0x77, 0x30, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x34, 0x30, 0x31, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x37, 0x2e, 0x33, 0x33, 0x2e, 0x30, 0x30, 0x2e, 0x32, 0x34, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x77, 0x30, 0x31, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x33, 0x30, 0x37, 0x35, 0x32, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x39, 0x61, 0x30, 0x31, 0x64, 0x66, 0x36, 0x36, 0x61, 0x30, 0x31, 0x38, 0x38, 0x33, 0x65, 0x38, 0x66, 0x30, 0x32, 0x30, 0x30, 0x62, 0x33, 0x37, 0x65, 0x38, 0x63, 0x30, 0x33, 0x34, 0x31, 0x32, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x30, 0x34, 0x30, 0x31, 0x5f, 0x76, 0x31, 0x37, 0x2e, 0x33, 0x33, 0x2e, 0x30, 0x30, 0x2e, 0x32, 0x34, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x31, 0x30, 0x34, 0x5f, 0x68, 0x77, 0x30, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x34, 0x30, 0x30, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x30, 0x32, 0x2e, 0x31, 0x32, 0x2e, 0x36, 0x36, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x33, 0x37, 0x38, 0x39, 0x31, 0x32, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x34, 0x35, 0x39, 0x32, 0x61, 0x64, 0x33, 0x30, 0x64, 0x30, 0x38, 0x36, 0x31, 0x38, 0x37, 0x63, 0x39, 0x39, 0x31, 0x35, 0x66, 0x35, 0x61, 0x61, 0x34, 0x32, 0x62, 0x39, 0x61, 0x36, 0x63, 0x31, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x30, 0x34, 0x30, 0x30, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x30, 0x32, 0x2e, 0x31, 0x32, 0x2e, 0x36, 0x36, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x37, 0x31, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x36, 0x30, 0x30, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x30, 0x2e, 0x31, 0x39, 0x2e, 0x30, 0x33, 0x2e, 0x31, 0x39, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3d, 0x22, 0x72, 0x63, 0x22, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x37, 0x36, 0x38, 0x33, 0x32, 0x22, 0x20, 0x6d, 0x64, 0x35, 0x3d, 0x22, 0x61, 0x30, 0x63, 0x31, 0x39, 0x39, 0x64, 0x31, 0x34, 0x37, 0x65, 0x34, 0x61, 0x66, 0x39, 0x32, 0x38, 0x62, 0x63, 0x33, 0x36, 0x37, 0x63, 0x35, 0x31, 0x38, 0x36, 0x39, 0x38, 0x34, 0x37, 0x31, 0x22, 0x3e, 0x78, 0x77, 0x36, 0x30, 0x37, 0x5f, 0x30, 0x36, 0x30, 0x30, 0x5f, 0x76, 0x30, 0x30, 0x2e, 0x31, 0x39, 0x2e, 0x30, 0x33, 0x2e, 0x31, 0x39, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x30, 0x33, 0x31, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x66, 0x77, 0x2e, 0x73, 0x69, 0x67, 0x3c, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x3e, 0xa, 0x3c, 0x2f, 0x64, 0x6a, 0x69, 0x3e, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=0
Callback: e=34359738373, info=[]byte{0x0, 0x0, 0x0, 0x0}, tag=0
22:35:04:299: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:04:371: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:04:373: SendCmd:  CmdSet = 48, CmdId = 01, Size = 18
22:35:04:374: Link: 1860 Update Components, Count = 19...
22:35:04:381: RecvCmd: CmdSet = 48, CmdId = 01
22:35:04:381: SendCmd:  CmdSet = 48, CmdId = 03, Size = 52
22:35:04:389: RecvCmd: CmdSet = 48, CmdId = 03
22:35:04:514: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:04:759: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:04:779: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x67, 0x5e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
PairingListener: 2019/12/14 06:35:04 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:04:814: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:04:841: RecvCmd: CmdSet = 02, CmdId = e4
22:35:04:861: RecvCmd: CmdSet = 07, CmdId = 80
22:35:04:974: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:05:046: RecvCmd: CmdSet = 02, CmdId = e4
22:35:05:107: RecvCmd: CmdSet = 07, CmdId = 09
22:35:05:189: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:05:240: RecvCmd: CmdSet = 02, CmdId = e4
22:35:05:248: SendCmd:  CmdSet = 00, CmdId = 26, Size = 30
22:35:05:264: RecvCmd: CmdSet = 00, CmdId = 26
22:35:05:264: Album: SendCameraFilePack success...

22:35:05:415: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:05:425: RecvCmd: CmdSet = 48, CmdId = 08
22:35:05:446: RecvCmd: CmdSet = 02, CmdId = e4
22:35:05:496: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:05:629: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:05:640: RecvCmd: CmdSet = 02, CmdId = e4
22:35:05:773: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0xe9, 0x58, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:05:815: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:05:845: RecvCmd: CmdSet = 02, CmdId = e4
22:35:05:845: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:05:865: RecvCmd: CmdSet = 07, CmdId = 80
22:35:06:039: RecvCmd: CmdSet = 02, CmdId = e4
22:35:06:069: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:06:111: RecvCmd: CmdSet = 07, CmdId = 09
22:35:06:244: RecvCmd: CmdSet = 02, CmdId = e4
22:35:06:296: RecvCmd: CmdSet = 3f, CmdId = a5
PairingListener: 2019/12/14 06:35:06 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:06:439: RecvCmd: CmdSet = 02, CmdId = e4
22:35:06:449: RecvCmd: CmdSet = 48, CmdId = 08
22:35:06:491: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:06:531: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:06:644: RecvCmd: CmdSet = 02, CmdId = e4
22:35:06:746: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:06:778: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0xd1, 0xb1, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:06:806: RecvCmd: CmdSet = 07, CmdId = 3f
22:35:06:817: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:06:849: RecvCmd: CmdSet = 02, CmdId = e4
22:35:06:850: RecvCmd: CmdSet = 07, CmdId = 80
22:35:06:972: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:07:044: RecvCmd: CmdSet = 02, CmdId = e4
22:35:07:113: RecvCmd: CmdSet = 07, CmdId = 09
22:35:07:185: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:07:247: RecvCmd: CmdSet = 02, CmdId = e4
22:35:07:400: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:07:411: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:07:441: RecvCmd: CmdSet = 02, CmdId = e4
22:35:07:481: RecvCmd: CmdSet = 48, CmdId = 08
22:35:07:636: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:07:646: RecvCmd: CmdSet = 02, CmdId = e4
22:35:07:771: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x45, 0xff, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
PairingListener: 2019/12/14 06:35:07 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:07:813: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:07:841: RecvCmd: CmdSet = 02, CmdId = e4
22:35:07:851: RecvCmd: CmdSet = 07, CmdId = 80
22:35:07:851: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:08:045: RecvCmd: CmdSet = 02, CmdId = e4
22:35:08:075: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:08:106: RecvCmd: CmdSet = 07, CmdId = 09
22:35:08:239: RecvCmd: CmdSet = 02, CmdId = e4
22:35:08:301: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:08:406: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:08:445: RecvCmd: CmdSet = 02, CmdId = e4
22:35:08:516: RecvCmd: CmdSet = 48, CmdId = 08
22:35:08:517: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:08:639: RecvCmd: CmdSet = 02, CmdId = e4
22:35:08:751: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:08:771: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x1c, 0x1d, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:08:813: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:08:845: RecvCmd: CmdSet = 02, CmdId = e4
22:35:08:855: RecvCmd: CmdSet = 07, CmdId = 80
22:35:08:978: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:09:039: RecvCmd: CmdSet = 02, CmdId = e4
22:35:09:111: RecvCmd: CmdSet = 07, CmdId = 09
22:35:09:192: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:09:247: RecvCmd: CmdSet = 02, CmdId = e4
PairingListener: 2019/12/14 06:35:09 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:09:418: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:09:439: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:09:440: RecvCmd: CmdSet = 02, CmdId = e4
22:35:09:551: RecvCmd: CmdSet = 48, CmdId = 08
22:35:09:644: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:09:645: RecvCmd: CmdSet = 02, CmdId = e4
22:35:09:778: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x96, 0x2e, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:09:817: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:09:837: RecvCmd: CmdSet = 02, CmdId = e4
22:35:09:848: RecvCmd: CmdSet = 07, CmdId = 80
22:35:09:859: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:10:043: RecvCmd: CmdSet = 02, CmdId = e4
22:35:10:083: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:10:115: RecvCmd: CmdSet = 07, CmdId = 09
22:35:10:238: RecvCmd: CmdSet = 02, CmdId = e4
22:35:10:320: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:10:443: RecvCmd: CmdSet = 02, CmdId = e4
22:35:10:485: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:10:547: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:10:608: RecvCmd: CmdSet = 48, CmdId = 08
22:35:10:639: RecvCmd: CmdSet = 02, CmdId = e4
22:35:10:771: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:10:771: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x75, 0x6, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
PairingListener: 2019/12/14 06:35:10 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:10:814: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:10:843: RecvCmd: CmdSet = 02, CmdId = e4
22:35:10:854: RecvCmd: CmdSet = 07, CmdId = 80
22:35:10:995: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:11:047: RecvCmd: CmdSet = 02, CmdId = e4
22:35:11:107: RecvCmd: CmdSet = 07, CmdId = 09
22:35:11:209: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:11:240: RecvCmd: CmdSet = 02, CmdId = e4
22:35:11:394: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:11:435: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:11:447: RecvCmd: CmdSet = 02, CmdId = e4
22:35:11:642: RecvCmd: CmdSet = 02, CmdId = e4
22:35:11:660: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:11:661: RecvCmd: CmdSet = 48, CmdId = 08
22:35:11:774: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x75, 0x34, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:11:816: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:11:846: RecvCmd: CmdSet = 02, CmdId = e4
22:35:11:857: RecvCmd: CmdSet = 07, CmdId = 80
22:35:11:889: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:12:041: RecvCmd: CmdSet = 02, CmdId = e4
22:35:12:101: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:12:112: RecvCmd: CmdSet = 07, CmdId = 09
22:35:12:245: RecvCmd: CmdSet = 02, CmdId = e4
PairingListener: 2019/12/14 06:35:12 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:12:326: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:12:409: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:12:439: RecvCmd: CmdSet = 02, CmdId = e4
22:35:12:573: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:12:644: RecvCmd: CmdSet = 02, CmdId = e4
22:35:12:687: RecvCmd: CmdSet = 48, CmdId = 08
22:35:12:777: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0xdb, 0x26, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:12:796: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:12:820: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:12:839: RecvCmd: CmdSet = 02, CmdId = e4
22:35:12:840: RecvCmd: CmdSet = 07, CmdId = 80
22:35:13:013: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:13:046: RecvCmd: CmdSet = 02, CmdId = e4
22:35:13:116: RecvCmd: CmdSet = 07, CmdId = 09
22:35:13:239: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:13:239: RecvCmd: CmdSet = 02, CmdId = e4
22:35:13:423: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:13:444: RecvCmd: CmdSet = 02, CmdId = e4
22:35:13:454: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:13:638: RecvCmd: CmdSet = 02, CmdId = e4
22:35:13:681: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:13:709: RecvCmd: CmdSet = 48, CmdId = 08
22:35:13:770: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x18, 0x34, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
PairingListener: 2019/12/14 06:35:13 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:13:814: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:13:842: RecvCmd: CmdSet = 02, CmdId = e4
22:35:13:854: RecvCmd: CmdSet = 07, CmdId = 80
22:35:13:903: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:14:046: RecvCmd: CmdSet = 02, CmdId = e4
22:35:14:107: RecvCmd: CmdSet = 07, CmdId = 09
22:35:14:127: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:14:240: RecvCmd: CmdSet = 02, CmdId = e4
22:35:14:343: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:14:447: RecvCmd: CmdSet = 02, CmdId = e4
22:35:14:467: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:14:562: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:14:642: RecvCmd: CmdSet = 02, CmdId = e4
22:35:14:733: RecvCmd: CmdSet = 48, CmdId = 08
22:35:14:774: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x53, 0x20, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:14:807: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:14:820: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:14:848: RecvCmd: CmdSet = 02, CmdId = e4
22:35:14:866: RecvCmd: CmdSet = 07, CmdId = 80
22:35:15:020: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:15:041: RecvCmd: CmdSet = 02, CmdId = e4
22:35:15:113: RecvCmd: CmdSet = 07, CmdId = 09
22:35:15:247: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:15:248: RecvCmd: CmdSet = 02, CmdId = e4
PairingListener: 2019/12/14 06:35:15 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:15:399: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:15:440: RecvCmd: CmdSet = 02, CmdId = e4
22:35:15:460: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:15:646: RecvCmd: CmdSet = 02, CmdId = e4
22:35:15:685: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:15:757: RecvCmd: CmdSet = 48, CmdId = 08
22:35:15:779: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0xd, 0x99, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:15:818: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:15:840: RecvCmd: CmdSet = 02, CmdId = e4
22:35:15:870: RecvCmd: CmdSet = 07, CmdId = 80
22:35:15:913: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:16:044: RecvCmd: CmdSet = 02, CmdId = e4
22:35:16:105: RecvCmd: CmdSet = 07, CmdId = 09
22:35:16:136: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:16:239: RecvCmd: CmdSet = 02, CmdId = e4
22:35:16:350: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:16:402: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:16:443: RecvCmd: CmdSet = 02, CmdId = e4
22:35:16:586: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:16:637: RecvCmd: CmdSet = 02, CmdId = e4
22:35:16:772: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0xd2, 0x8a, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:16:783: RecvCmd: CmdSet = 48, CmdId = 08
PairingListener: 2019/12/14 06:35:16 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:16:821: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:16:821: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:16:844: RecvCmd: CmdSet = 02, CmdId = e4
22:35:16:853: RecvCmd: CmdSet = 07, CmdId = 80
22:35:17:028: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:17:037: RecvCmd: CmdSet = 02, CmdId = e4
22:35:17:109: RecvCmd: CmdSet = 07, CmdId = 09
22:35:17:243: RecvCmd: CmdSet = 02, CmdId = e4
22:35:17:252: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:17:437: RecvCmd: CmdSet = 02, CmdId = e4
22:35:17:468: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:17:481: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:17:642: RecvCmd: CmdSet = 02, CmdId = e4
22:35:17:692: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:17:774: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0xd0, 0x2c, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:17:805: RecvCmd: CmdSet = 48, CmdId = 08
22:35:17:818: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:17:848: RecvCmd: CmdSet = 02, CmdId = e4
22:35:17:848: RecvCmd: CmdSet = 07, CmdId = 80
22:35:17:917: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:18:041: RecvCmd: CmdSet = 02, CmdId = e4
22:35:18:114: RecvCmd: CmdSet = 07, CmdId = 09
22:35:18:133: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:18:247: RecvCmd: CmdSet = 02, CmdId = e4
PairingListener: 2019/12/14 06:35:18 Broadcast message successfully parsed: IsPairing:true, SourceIp:192.168.86.129, SourceMac:60:60:1f:ce:c0:94, AppId:18394527035341192947
22:35:18:348: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:18:400: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:18:441: RecvCmd: CmdSet = 02, CmdId = e4
22:35:18:574: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:18:647: RecvCmd: CmdSet = 02, CmdId = e4
22:35:18:781: RecvCmd: CmdSet = 3f, CmdId = 0e
Callback: e=1305670057984, info=[]byte{0x2b, 0x43, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, tag=72057594037927936
22:35:18:819: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:18:820: RecvCmd: CmdSet = 3f, CmdId = 03
22:35:18:840: RecvCmd: CmdSet = 02, CmdId = e4
22:35:18:852: RecvCmd: CmdSet = 48, CmdId = 08
22:35:18:862: RecvCmd: CmdSet = 07, CmdId = 80
22:35:19:024: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:19:047: RecvCmd: CmdSet = 02, CmdId = e4
22:35:19:106: RecvCmd: CmdSet = 07, CmdId = 09
22:35:19:239: RecvCmd: CmdSet = 02, CmdId = e4
22:35:19:249: RecvCmd: CmdSet = 3f, CmdId = a5
22:35:19:424: RecvCmd: CmdSet = 3f, CmdId = 12
22:35:19:444: RecvCmd: CmdSet = 02, CmdId = e4
22:35:19:477: RecvCmd: CmdSet = 3f, CmdId = a5


2019-12-14
Use props
DJI Stephen
DJI team
Offline

Hello and good day BGA. Thank you for reaching out and for sharing this information with us. Thank you for your support.
2019-12-14
Use props
sevreNniarB
lvl.4
Germany
Offline

DJI Stephen Posted at 12-14 08:25
Hello and good day BGA. Thank you for reaching out and for sharing this information with us. Thank you for your support.

  
Thank you BGA, this is looking great!


Imho using the unitybridge.dll is the best solution atm. As mentioned, the DLL is the main connection module in-between the App and the RMS1 and keeps the connection alive even if you debug-pause the PC application.

Capturing the CMD-Sets is relatively easy, I've manipulated all SendEvents from the PC-App and dump the data to a local file like this:
  
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using AOT;
using UnityEngine;

namespace DJI
{
    // Token: 0x020005ED RID: 1517
    public partial class DJIUnityBridge : MonoBehaviour
    {
        // Token: 0x060027A5 RID: 10149 RVA: 0x000C70D8 File Offset: 0x000C52D8
        public void SendEvent(DJIUnityEvent e, IntPtr data, ulong tag)
        {
            DJIUnityBridge.UnitySendEvent(e.GetCode(), data, tag);
            using (StreamWriter streamWriter = File.AppendText("cmd_debug.txt"))
            {
                streamWriter.WriteLine("Code: " + e.GetCode());
                streamWriter.WriteLine("Data: " + data.ToString());
                streamWriter.WriteLine("Tag: " + tag);
            }
        }
    }
}


Please be aware, that captured data sometimes includes your DJI account information - you don't wanna have this out in public
Cheers
  
  
2019-12-14
Use props
DJI Stephen
DJI team
Offline

Thank you sevreNniarB and thank you for sharing these additional information with us. Have a safe and happy programming always.
2019-12-15
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules